gmt-server-partner-openapi-review-feat-1568-frcjao.gmt.yuca.digital
Open in
urlscan Pro
142.132.246.177
Public Scan
URL:
https://gmt-server-partner-openapi-review-feat-1568-frcjao.gmt.yuca.digital/
Submission: On December 28 via api from US — Scanned from DE
Submission: On December 28 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
* auth * postAuth generate-payload * postAuth check-proof * postAuth refresh c2s * postAuth refresh s2s * NFT * getUse this endpoint to fetch user's miner data (API-KEY) * getUse this endpoint to fetch user's miner data (API-KEY) * NFT Payment * getData on Available Miners for Generation (API-KEY) * getData on Available Miners for Generation (API-KEY) * postInitialize Payment for Miners (API-KEY-WITH-SIGNATURE) * postUse this endpoint to notify us about successful payments (API-KEY-WITH-SIGNATURE) * Income Statistic * get/api/partner/c2s/income-statistic/get-income-per-th * NFT Income * getRequest Miner Total Earnings Data Throughout The Entire Period for a Specific User (API-KEY-WITH-SIGNATURE) * getRequest Miner Earnings Data for a Specific User (API-KEY-WITH-SIGNATURE) * getRequest Miner Earnings Data for a Specific User (API-KEY-WITH-SIGNATURE) * Wallet * postUse this endpoint to bind a Bitcoin wallet to a user account (API-KEY-WITH-SIGNATURE) * getUse this endpoint to fetch user's wallet data (API-KEY-WITH-SIGNATURE) * postUse this endpoint to bind a Bitcoin wallet to a user account (API-KEY-WITH-SIGNATURE) * getUse this endpoint to fetch user's wallet data (API-KEY-WITH-SIGNATURE) * Authentication * postAccount Creation / Login (API-KEY-WITH-SIGNATURE) API docs by Redocly GOMINING API (2.0.0) Download OpenAPI specification:Download A short summary of the API. This API enables all authorized partners to interact with GoMining. With its help, you can: 1. USER MANAGEMENT: * Create users within our system. * Allow users to log in. 2. RECEIVING COLLECTION DATA: * Obtain data on available collections for generation. * Use this data to create payment orders. 3. SYNCHRONIZE PAYMENTS: * Synchronize with us using webhooks that you need to trigger upon successful payment. 4. OBTAIN DATA ON USERS' EARNINGS: * Request data on the earnings of a specific user to display how much they have earned using our miners. AUTHORIZATION LEVELS: The level of required authorization depends on the specific endpoint: * For some endpoints, just an API key, which you need to request from us, will suffice. * For others, you will need both an API key and a secret key, which also needs to be obtained directly from us. GETTING STARTED: If you wish to use our API, please send a request to partners@gomining.com, and we will get in touch with you. ENDPOINT SECURITY TYPE * Each endpoint has a security type that determines how you will interact with it. This is stated next to the NAME of the endpoint. If no security type is stated, assume the security type is NONE. * API-keys are passed into the REST API via the X-PARTNER-API-KEY header. * API-keys and secret-keys are case sensitive. Security Type Description API-KEY Endpoint requires sending a valid API-Key. API-KEY-WITH-SIGNATURE Endpoint requires sending a valid API-Key and signature. API-KEY-WITH-SIGNATURE * API-KEY-WITH-SIGNATURE endpoints require an additional parameter, signature, to be sent in the query string or request body depends on HTTP method * The signature is not case sensitive. * A API-KEY-WITH-SIGNATURE endpoint also requires a parameter, timestamp, to be sent which should be the millisecond timestamp of when the request was created and sent. * An additional parameter, recvWindow, may be sent to specify the number of milliseconds after timestamp the request is valid for. If recvWindow is not sent, it defaults to 5000. API-KEY-WITH-SIGNATURE ENDPOINT EXAMPLE FOR POST /API/PARTNER/AUTH/INIT apiSecret - 123a6fd0-f542-46dc-a91b-627146deb6c9 EXAMPLE: Example Parameters: { "partnerUserId": "123", "timestamp": 1721656927974, } Example HMAC SHA256 signature: echo -n '{"partnerUserId":"123","timestamp":1721656927974}' | openssl dgst -sha256 -hmac "123a6fd0-f542-46dc-a91b-627146deb6c9" SHA2-256(stdin)= 03955aeac5ffe46c02fbb74e2b41f0d36f3992b5363253949a4a7dd79c972a24 Example Body: { "partnerUserId": "123", "timestamp": 1721656927974, "signature": "03955aeac5ffe46c02fbb74e2b41f0d36f3992b5363253949a4a7dd79c972a24" } API-KEY-WITH-SIGNATURE ENDPOINT EXAMPLE FOR GET /API/PARTNER/NFT-INCOME/FIND-BY-USER apiSecret - 123a6fd0-f542-46dc-a91b-627146deb6c9 EXAMPLE: Example Parameters: partnerUserId=123×tamp=1721656927974&limit=20&offset=0 Example HMAC SHA256 signature: echo -n 'partnerUserId=123×tamp=1721656927974&limit=20&offset=0' | openssl dgst -sha256 -hmac "123a6fd0-f542-46dc-a91b-627146deb6c9" SHA2-256(stdin)= 0cefa897946a49e8027b2c5787a48c547c83a6dc9f7d172870ba7f81cef42bd5 Example Query: partnerUserId=123×tamp=1721656927974&limit=20&offset=0&signature=0cefa897946a49e8027b2c5787a48c547c83a6dc9f7d172870ba7f81cef42bd5 AUTH AUTH GENERATE-PAYLOAD REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED partnerId required string RESPONSES 200 Successful response 500 Error response post/api/partner/c2s/auth/generate-payload https://api.sandbox.gmt.io/api/partner/c2s/auth/generate-payload REQUEST SAMPLES * Payload Content type application/json Copy { * "partnerId": "string" } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "payload": "string" } } AUTH CHECK-PROOF REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED tonWallet required object device required object platform required "iphone" (string) or "ipad" (string) or "android" (string) or "windows" (string) or "mac" (string) or "linux" (string) or "browser" (string) appName required string appVersion required string maxProtocolVersion required number features required Array of any account required object address required string chain required "-239" (string) or "-3" (string) walletStateInit required string publicKey required string provider required "http" (string) or "injected" (string) Any of "http""injected" string ("http") connectItems required object tonProof required object RESPONSES 200 Successful response 500 Error response post/api/partner/c2s/auth/check-proof https://api.sandbox.gmt.io/api/partner/c2s/auth/check-proof REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "tonWallet": { * "device": { * "platform": "iphone", * "appName": "string", * "appVersion": "string", * "maxProtocolVersion": 0, * "features": [ * null ] }, * "account": { * "address": "string", * "chain": "-239", * "walletStateInit": "string", * "publicKey": "string" }, * "provider": "http", * "connectItems": { * "tonProof": { * "name": "ton_proof", * "proof": { * "domain": { * "lengthBytes": 0, * "value": "string" }, * "payload": "string", * "signature": "string", * "timestamp": 0 } } } } } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "jwtToken": "string", * "refreshToken": "string" } } AUTH REFRESH C2S AUTHORIZATIONS: userAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED refreshToken required string RESPONSES 200 Successful response 500 Error response post/api/partner/c2s/auth/refresh https://api.sandbox.gmt.io/api/partner/c2s/auth/refresh REQUEST SAMPLES * Payload Content type application/json Copy { * "refreshToken": "string" } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "jwtToken": "string", * "refreshToken": "string" } } AUTH REFRESH S2S AUTHORIZATIONS: userAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED refreshToken required string RESPONSES 200 Successful response 500 Error response post/api/partner/s2s/auth/refresh https://api.sandbox.gmt.io/api/partner/s2s/auth/refresh REQUEST SAMPLES * Payload Content type application/json Copy { * "refreshToken": "string" } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "jwtToken": "string", * "refreshToken": "string" } } NFT USE THIS ENDPOINT TO FETCH USER'S MINER DATA (API-KEY) By calling this endpoint, you can retrieve a list of miners that are associated with the user, along with their characteristics. This helps you to show users the details of all their miners along with their specifications. AUTHORIZATIONS: userAuth QUERY PARAMETERS limit string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 offset string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 RESPONSES 200 Successful response 500 Error response get/api/partner/c2s/nft/get-my https://api.sandbox.gmt.io/api/partner/c2s/nft/get-my RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "id": 0, * "createdAt": "2019-08-24T14:15:22Z", * "name": "string", * "power": 0, * "energyEfficiency": 0, * "imageUrl": "string", * "smallImageUrl": "string" } ] } } USE THIS ENDPOINT TO FETCH USER'S MINER DATA (API-KEY) By calling this endpoint, you can retrieve a list of miners that are associated with the user, along with their characteristics. This helps you to show users the details of all their miners along with their specifications. AUTHORIZATIONS: partnerAuth QUERY PARAMETERS partnerUserId required string [ 1 .. 255 ] characters The ID of the user within your system. signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. timestamp required string^\d+$ The timestamp of when the request was created and sent. limit string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 offset string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 recvWindow string^\d+$ Number of milliseconds after timestamp the request is valid for. RESPONSES 200 Successful response 500 Error response get/api/partner/s2s/nft/get-my https://api.sandbox.gmt.io/api/partner/s2s/nft/get-my RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "id": 0, * "createdAt": "2019-08-24T14:15:22Z", * "name": "string", * "power": 0, * "energyEfficiency": 0, * "imageUrl": "string", * "smallImageUrl": "string" } ] } } NFT PAYMENT DATA ON AVAILABLE MINERS FOR GENERATION (API-KEY) By calling this endpoint, you will receive data on the specific collections of miners currently available. This includes their power in TH, energy efficiency in W/TH, the price for specific characteristics, and their ID within the GoMining ecosystem. These data will be necessary for you to form a payment order. AUTHORIZATIONS: userAuth RESPONSES 200 Successful response 500 Error response get/api/partner/c2s/nft-collection/find-all-generative https://api.sandbox.gmt.io/api/partner/c2s/nft-collection/find-all-generative RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "id": 0, * "power": 0, * "energyEfficiency": 0, * "value": 0, * "annualROI": 0, * "poolReward": 0, * "electricityCost": 0, * "serviceCost": 0, * "levelDiscount": 0 } ] } } DATA ON AVAILABLE MINERS FOR GENERATION (API-KEY) By calling this endpoint, you will receive data on the specific collections of miners currently available. This includes their power in TH, energy efficiency in W/TH, the price for specific characteristics, and their ID within the GoMining ecosystem. These data will be necessary for you to form a payment order. AUTHORIZATIONS: partnerAuth RESPONSES 200 Successful response 500 Error response get/api/partner/s2s/nft-collection/find-all-generative https://api.sandbox.gmt.io/api/partner/s2s/nft-collection/find-all-generative RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "id": 0, * "power": 0, * "energyEfficiency": 0, * "value": 0, * "annualROI": 0, * "poolReward": 0, * "electricityCost": 0, * "serviceCost": 0, * "levelDiscount": 0 } ] } } INITIALIZE PAYMENT FOR MINERS (API-KEY-WITH-SIGNATURE) Use the data received from the nft-collection/find-all-generative endpoint to form a payment for a specific miner. AUTHORIZATIONS: partnerAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED userId required integer >= 1 The ID of the user. nftCollectionId required integer >= 1 The ID of the specific miner collection. externalId required string [ 1 .. 255 ] characters ID of the purchase on your side. signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. timestamp required integer >= 1 The timestamp of when the request was created and sent. recvWindow integer >= 1 Number of milliseconds after timestamp the request is valid for. RESPONSES 200 Successful response 500 Error response post/api/partner/s2s/nft-payment/init https://api.sandbox.gmt.io/api/partner/s2s/nft-payment/init REQUEST SAMPLES * Payload Content type application/json Copy { * "userId": 1, * "nftCollectionId": 1, * "externalId": "string", * "signature": "string", * "timestamp": 1, * "recvWindow": 1 } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "value": 0, * "externalId": "string" } } USE THIS ENDPOINT TO NOTIFY US ABOUT SUCCESSFUL PAYMENTS (API-KEY-WITH-SIGNATURE) By calling this endpoint, you can notify us that the payment has been successfully completed. This ensures that our system is updated with the actual payment status. AUTHORIZATIONS: partnerAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. externalId required string [ 1 .. 255 ] characters ID of the purchase on your side. timestamp required integer >= 1 The timestamp of when the request was created and sent. recvWindow integer >= 1 Number of milliseconds after timestamp the request is valid for. userId required integer >= 1 User ID. RESPONSES 200 Successful response 500 Error response post/api/partner/s2s/nft-payment/success https://api.sandbox.gmt.io/api/partner/s2s/nft-payment/success REQUEST SAMPLES * Payload Content type application/json Copy { * "signature": "string", * "externalId": "string", * "timestamp": 1, * "recvWindow": 1, * "userId": 1 } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy { * "data": true } INCOME STATISTIC /API/PARTNER/C2S/INCOME-STATISTIC/GET-INCOME-PER-TH AUTHORIZATIONS: userAuth RESPONSES 200 Successful response 500 Error response get/api/partner/c2s/income-statistic/get-income-per-th https://api.sandbox.gmt.io/api/partner/c2s/income-statistic/get-income-per-th RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "incomePerTh": 0, * "btcRate": 0, * "gominingRate": 0, * "kwt": 0, * "serviceCost": 0 } } NFT INCOME REQUEST MINER TOTAL EARNINGS DATA THROUGHOUT THE ENTIRE PERIOD FOR A SPECIFIC USER (API-KEY-WITH-SIGNATURE) By calling this endpoint and providing the required information, you will receive total data on the earnings of a specific user from all their miners throughout the entire period. You can use these data to inform users of their overall earnings from purchased miners throughout the entire period. AUTHORIZATIONS: userAuth RESPONSES 200 Successful response 500 Error response get/api/partner/c2s/nft-income/find-total-by-user https://api.sandbox.gmt.io/api/partner/c2s/nft-income/find-total-by-user RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "totalValue": 0, * "nftId": 0 } ], * "totalIncome": 0, * "lastIncome": { }, * "withdrawnAmount": 0, * "onBalanceAmount": 0 } } REQUEST MINER EARNINGS DATA FOR A SPECIFIC USER (API-KEY-WITH-SIGNATURE) By calling this endpoint and providing the required information, you will receive data on the earnings of a specific user from all their miners. You can use these data to inform users of their overall earnings from purchased miners. AUTHORIZATIONS: userAuth QUERY PARAMETERS limit string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 offset string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 RESPONSES 200 Successful response 500 Error response get/api/partner/c2s/nft-income/find-by-user https://api.sandbox.gmt.io/api/partner/c2s/nft-income/find-by-user RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "createdAt": "2019-08-24T14:15:22Z", * "value": 0, * "c1Value": 0, * "c2Value": 0, * "c3Value": 0, * "c4Value": 0, * "nftId": 0 } ] } } REQUEST MINER EARNINGS DATA FOR A SPECIFIC USER (API-KEY-WITH-SIGNATURE) By calling this endpoint and providing the required information, you will receive data on the earnings of a specific user from all their miners. You can use these data to inform users of their overall earnings from purchased miners. AUTHORIZATIONS: partnerAuth QUERY PARAMETERS partnerUserId required string [ 1 .. 255 ] characters The ID of the user within your system. signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. timestamp required string^\d+$ The timestamp of when the request was created and sent. limit string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 offset string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 recvWindow string^\d+$ Number of milliseconds after timestamp the request is valid for. RESPONSES 200 Successful response 500 Error response get/api/partner/s2s/nft-income/find-by-user https://api.sandbox.gmt.io/api/partner/s2s/nft-income/find-by-user RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "createdAt": "2019-08-24T14:15:22Z", * "value": 0, * "c1Value": 0, * "c2Value": 0, * "c3Value": 0, * "c4Value": 0, * "nftId": 0 } ] } } WALLET USE THIS ENDPOINT TO BIND A BITCOIN WALLET TO A USER ACCOUNT (API-KEY-WITH-SIGNATURE) By calling this endpoint, you can bind a Bitcoin wallet to a specific user. This allows us to know which wallet is associated with the user and enables us to proceed with the withdrawals of user' income, thus fulfilling the full cycle of the investment. AUTHORIZATIONS: userAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED address required string [ 1 .. 255 ] characters BTC wallet address. RESPONSES 200 Successful response 500 Error response post/api/partner/c2s/wallet/create-btc https://api.sandbox.gmt.io/api/partner/c2s/wallet/create-btc REQUEST SAMPLES * Payload Content type application/json Copy { * "address": "string" } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy { * "data": true } USE THIS ENDPOINT TO FETCH USER'S WALLET DATA (API-KEY-WITH-SIGNATURE) By calling this endpoint, you can retrieve a list of wallets that user has linked to their account. After calling it you'd receive an array with data on each wallet separately. AUTHORIZATIONS: userAuth QUERY PARAMETERS limit string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 offset string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 RESPONSES 200 Successful response 500 Error response get/api/partner/c2s/wallet/find-by-user https://api.sandbox.gmt.io/api/partner/c2s/wallet/find-by-user RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "id": 0, * "createdAt": "2019-08-24T14:15:22Z", * "address": "string", * "type": "BTC" } ] } } USE THIS ENDPOINT TO BIND A BITCOIN WALLET TO A USER ACCOUNT (API-KEY-WITH-SIGNATURE) By calling this endpoint, you can bind a Bitcoin wallet to a specific user. This allows us to know which wallet is associated with the user and enables us to proceed with the withdrawals of user' income, thus fulfilling the full cycle of the investment. AUTHORIZATIONS: partnerAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED partnerUserId required string [ 1 .. 255 ] characters The ID of the user within your system. address required string [ 1 .. 255 ] characters BTC wallet address. signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. timestamp required integer >= 1 The timestamp of when the request was created and sent. recvWindow integer >= 1 Number of milliseconds after timestamp the request is valid for. RESPONSES 200 Successful response 500 Error response post/api/partner/s2s/wallet/create-btc https://api.sandbox.gmt.io/api/partner/s2s/wallet/create-btc REQUEST SAMPLES * Payload Content type application/json Copy { * "partnerUserId": "string", * "address": "string", * "signature": "string", * "timestamp": 1, * "recvWindow": 1 } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy { * "data": true } USE THIS ENDPOINT TO FETCH USER'S WALLET DATA (API-KEY-WITH-SIGNATURE) By calling this endpoint, you can retrieve a list of wallets that user has linked to their account. After calling it you'd receive an array with data on each wallet separately. AUTHORIZATIONS: partnerAuth QUERY PARAMETERS partnerUserId required string [ 1 .. 255 ] characters The ID of the user within your system. signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. timestamp required string^\d+$ The timestamp of when the request was created and sent. limit string [ 1 .. 3 ] characters ^\d{1,3}$ Examples: limit=20 offset string [ 1 .. 5 ] characters ^\d{1,5}$ Examples: offset=0 recvWindow string^\d+$ Number of milliseconds after timestamp the request is valid for. RESPONSES 200 Successful response 500 Error response get/api/partner/s2s/wallet/find-by-user https://api.sandbox.gmt.io/api/partner/s2s/wallet/find-by-user RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "array": [ * { * "id": 0, * "createdAt": "2019-08-24T14:15:22Z", * "address": "string", * "type": "BTC" } ] } } AUTHENTICATION ACCOUNT CREATION / LOGIN (API-KEY-WITH-SIGNATURE) By calling this endpoint, you will be able to register a new user or allow an existing user to log into their account. AUTHORIZATIONS: partnerAuth REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED partnerUserId required string [ 1 .. 255 ] characters The ID of the user within your system. signature required string [ 1 .. 64 ] characters HMAC SHA256 Signature. timestamp required integer >= 1 The timestamp of when the request was created and sent. recvWindow integer >= 1 Number of milliseconds after timestamp the request is valid for. RESPONSES 200 Successful response 500 Error response post/api/partner/s2s/auth/init https://api.sandbox.gmt.io/api/partner/s2s/auth/init REQUEST SAMPLES * Payload Content type application/json Copy { * "partnerUserId": "string", * "signature": "string", * "timestamp": 1, * "recvWindow": 1 } RESPONSE SAMPLES * 200 * 500 Content type application/json Copy Expand all Collapse all { * "data": { * "jwtToken": "string", * "refreshToken": "string" } }