### Install Project Dependencies Source: https://docs.p2p.org/docs/implementation-example Installs the necessary Node.js packages required for the integration example to run. This command uses npm (Node Package Manager) to download and install dependencies listed in the project's package.json file. ```shell npm install ``` -------------------------------- ### Example Serialized Transaction Data Source: https://docs.p2p.org/docs/getting-started-ssv An example of a serialized transaction, likely for an Ethereum transaction within the SSV network setup process. ```JSON { "serializeTx": "0x02f86505800210830186a0943a9f01091c446bde031e39ea8354647afef091e780b844095ea7b3000000000000000000000000c3cd9a0ae89fff83b71b58b6512d43f8a41f363dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0", "to": "0x3a9f01091C446bdE031E39ea8354647AFef091E7", "gasLimit": "0.0000000000001", "data": "0x095ea7b3000000000000000000000000c3cd9a0ae89fff83b71b58b6512d43f8a41f363dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "value": "0.0", "chainId": 5, "type": 2, "maxFeePerGas": "0.000000000000000016", "maxPriorityFeePerGas": "2" } ``` -------------------------------- ### Clone Unified API Repository Source: https://docs.p2p.org/docs/implementation-example Clones the public repository containing the integration example for the Unified Staking API. This step is essential to obtain the project files for local setup and execution. ```shell git clone git@github.com:alessandromaci/unified-api.git unified-api-integration-example cd unified-api-integration-example ``` -------------------------------- ### Avail Staking Bond Response Example Source: https://docs.p2p.org/docs/unified-api-avail Example JSON response for a successful Avail staking bond request, detailing transaction data and extra parameters. ```json { "error": null, "result": { "amount": 1000, "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "unsignedTransactionData": "0x550104010208...", "extraData": { "targets": ["5G6Zhgm59oujA5UW8wMu4XHFP59uenjC2xp1zshyrWVa638J"], "rewardDestinationType": "account", "rewardDestination": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "createdAt": "2024-12-19T11:51:03.477Z" } } } ``` -------------------------------- ### Broadcast Transaction Response Example Source: https://docs.p2p.org/docs/unified-api-avail Example JSON response received after broadcasting a signed transaction. ```json { "error": null, "result": { "status": "success", "extraData": { "network": "testnet", "signedTransaction": "0xf1028400365b17c9f769d13458469cf2c0eb89e65bef71e3d86cbc75d07ee7b076ca706f01566c41fdc460e5a2f91003a874f2a8698d83984681b58e58d79c773dd58a80158c58eac3e9589f504d81ed1e82333957c7a06dcc30a12745186b37788e19f388b4000800000102080a00170000a0dec5adc9353603365b17c9f769d13458469cf2c0eb89e65bef71e3d86cbc75d07ee7b076ca706f0a050400b25bf90ee3ce10bce071ef48539e7f2aae424038bffb4a50e1e0d6bf961e982f", "blockHash": "0xd46b0f2ea6daa7f1012f7feefc1d2475405654700ea4082e376a4f173ae3b85d", "blockId": 1145872, "extrinsicId": 1, "transactionHash": "0x0ad1243d382fd9782b5c51248905a388ccd992df47397feefb7d1f643e72e8dc", "signerAccount": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "createdAt": "2024-12-19T11:57:38.626Z" } } } ``` -------------------------------- ### Unstaking Request Response Example Source: https://docs.p2p.org/docs/unified-api-avail Example JSON response received after creating an unstaking request. ```json { "error": null, "result": { "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "unsignedTransactionData": "0x34040a0217000050efe2d6e41a1b", "createdAt": "2024-12-19T13:25:51.320Z", "extraData": { "amount": 500 } } } ``` -------------------------------- ### SSV Deposit Request Example (cURL) Source: https://docs.p2p.org/docs/getting-started-ssv Example of an API request to retrieve SSV deposit data. It includes necessary headers for authentication and content type. ```bash --header 'accept: application/json' \ --header 'authorization: Bearer ' ``` -------------------------------- ### Avail Staking Bond Request Example Source: https://docs.p2p.org/docs/unified-api-avail Example cURL request for creating a bond transaction on the Avail testnet using the Unified API. ```curl curl --request POST \ --url https://api-test.p2p.org/api/v1/unified/staking/stake \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data '{ "chain": "avail", "network": "testnet", "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "amount": "1000" }' ``` -------------------------------- ### Example Stake Response (JSON) Source: https://docs.p2p.org/docs/unified-api-sui Illustrates a successful response structure for a stake request, including transaction data and extra details. ```json { "error": null, "result": { "amount": 1000000000, "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "unsignedTransactionData": "0x550104010208...", "extraData": { "targets": ["5G6Zhgm59oujA5UW8wMu4XHFP59uenjC2xp1zshyrWVa638J"], "rewardDestinationType": "account", "rewardDestination": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", "createdAt": "2024-12-19T11:51:03.477Z" } } } ``` -------------------------------- ### P2P.ORG Hero Section Source: https://docs.p2p.org/recipes/polkadot-staking-unified-api Displays the main title and introductory text for the P2P.ORG documentation hub, including a call-to-action button to get started. ```html

P2P.ORG Documentation Hub

Welcome to the P2P.ORG documentation hub! Find guides, documentation, and support to get started with P2P.ORG quickly. Let's jump in!

Get started with P2P.ORG
``` -------------------------------- ### Example Stake Request (cURL) Source: https://docs.p2p.org/docs/unified-api-sui Demonstrates how to send a POST request to create a stake transaction for the Sui testnet using cURL. ```curl curl --request POST \ --url https://api-test.p2p.org/api/v1/unified/staking/stake \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data '{ \ "chain": "sui", \ "network": "testnet", \ "stakerAddress": "0xe6c15e4ad58571dcad63aba77c5c03823074642512082ded0e8256ef73c406b6", \ "amount": 1000000000 \ }' ``` -------------------------------- ### Example cURL Request for Withdrawal Source: https://docs.p2p.org/docs/unified-api-avail Demonstrates how to make a POST request to the withdrawal API endpoint using cURL, including necessary headers and data payload. ```curl curl --request POST \ --url https://api-test.p2p.org/api/v1/unified/staking/withdraw \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data '{ \ "chain": "avail", \ "network": "testnet", \ "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG" \ }' ``` -------------------------------- ### Example Request to Check Transaction Status Source: https://docs.p2p.org/docs/staking-cosmos An example using curl to send a GET request to the transaction status API endpoint for the cosmoshub-4 network. ```curl curl --request GET \ --url https://api-test.p2p.org/api/v1/cosmos/cosmoshub-4/transaction/status/ADD7B2791E1959075D1836D4BCC71ED256CCD724459F9BD8862D85E205075D47 \ --header 'accept: application/json' \ --header 'authorization: Bearer ' \ --header 'content-type: application/json' ``` -------------------------------- ### GET /api/v1/eth/staking/direct/nodes-request/status/{id} Source: https://docs.p2p.org/docs/restaking-eth Retrieves the status of a node setup operation by sending a GET request to the specified endpoint. It returns detailed information about the request's progress and associated data. ```APIDOC GET /api/v1/eth/staking/direct/nodes-request/status/{id} Description: Check the status of the node set-up operation. Parameters: id (string, required): UUID that was specified in the node set-up request. Headers: accept: application/json authorization: Bearer content-type: application/json Example Request: curl --request GET \ --url https://api.p2p.org/api/v1/eth/staking/direct/nodes-request/status/6df58880-c4c9-484a-8fc4-7f7668fe9522 \ --header 'accept: application/json' \ --header 'authorization: Bearer ' \ --header 'content-type: application/json' Example Response: { "result": { "id": "6df58880-c4c9-484a-8fc4-7f7668fe9522", "status": "ready", "type": "RESTAKING", "validatorsCount": 1, "withdrawalAddress": null, "eigenPodAddress": "0x1433F808a4867aDEeEb3AE0Df58691C252269A2C", "eigenPodOwnerAddress": "0x27AABeE07E0dbC8b0de20f42b1a1980871314Ef5", "controllerAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17", "feeRecipientAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17", "depositData": [ { "pubkey": "0xaed7226d86d884dd44bc45c2b57f7634e72abf247713163388b1c34d89a1322d7228ca023dbaf2465b822e35ba00da13", "signature": "0x91b710f0e3affe704e76ada81b095afbedf4b760f3160760e8fa0298cc4858e0f325c2652dc698ec63c59db65562551114ab7fcafe1d675eaaf186fa7758800f0157bd0b51cd3a131fac562d6933658ddbf182aab8d20a9483b1392085e54cf5", "depositDataRoot": "0xd0d00dce54b4ec8a7803783fc786a859459ead1d35b856c525cb289aba4b0f89", "withdrawalCredentials": "0100000000000000000000001433f808a4867adeeeb3ae0df58691c252269a2c", "amount": 32000000000, "depositMessageRoot": "04f641c39de982aee68cc7c78bd23bcafffed91fd1c455282b651e0c8d6c4e20", "forkVersion": "01017000", "eth2NetworkName": "hoodi", "depositCliVersion": "2.7.0" } ], "createdAt": "2025-01-29T15:07:08.399Z" } } Response Fields: result (object): id (string): UUID of the node request. status (string): Current status of the node request. Possible values: 'init', 'processing', 'ready', 'cancel'. type (string): Type of the request, e.g., 'RESTAKING'. validatorsCount (integer): Number of validators associated with the request. withdrawalAddress (any): Withdrawal address, null by default. eigenPodAddress (string): EigenPod address, also used as validator withdrawal address. eigenPodOwnerAddress (string): Owner of the EigenPod address. controllerAddress (string): Controller address for the validators. feeRecipientAddress (string): Fee recipient address. depositData (array of objects): pubkey (string): Validator public key. signature (string): Validator signature. depositDataRoot (string): SHA-256 hash of the SSZ-encoded DepositData object. withdrawalCredentials (string): Withdrawal address credentials. amount (integer): Amount of ETH in Gwei being deposited. depositMessageRoot (string): Cryptographic hash of the Merkle tree’s root. forkVersion (string): Version of the network fork. eth2NetworkName (string): Name of the Ethereum 2.0 network. depositCliVersion (string): Version of the deposit CLI tool used. createdAt (string): Timestamp of the transaction in ISO 8601 format. ``` -------------------------------- ### Configure Environment Variables Source: https://docs.p2p.org/docs/staking-ui-showcase-with-unified-api Instructions to copy the example environment file and prepare for custom configuration, essential for API key integration. ```bash cp .env.example .env ``` -------------------------------- ### Run Development Server Source: https://docs.p2p.org/docs/staking-ui-showcase-with-unified-api Commands to start the local development server for the staking showcase, allowing for testing and viewing the UI. ```bash npm run dev # or yarn dev ``` -------------------------------- ### Get SUI Stake ID Example Source: https://docs.p2p.org/docs/withdrawal-sui Illustrates the JSON response structure for retrieving stake information, specifically highlighting the 'stakeId' field which is crucial for initiating a withdrawal. ```json { "stakeId": "0x5d920b8fca6a6043d898ab1a9a8ab167d8aa323fe2b9e76a27312f7f16e20a67", "amount": 1000000000, "status": "Pending" } ``` -------------------------------- ### Run Staking Example Source: https://docs.p2p.org/docs/implementation-example Executes the main staking script, specifying the target network. This example demonstrates how to initiate a staking operation, likely interacting with the Unified Staking API. ```shell node stake.js --network=solana ``` -------------------------------- ### Unified API Staking Workflow Source: https://docs.p2p.org/docs/unified-api-getting-started Describes the general process for staking assets using the Unified API. It involves creating a staking transaction, signing it, and then broadcasting the signed transaction to the network. ```APIDOC Unified API Staking Process: 1. Create Staking Transaction: - Method: POST - Endpoint: /api/v1/unified/staking/stake/ - Description: Initiates the creation of a staking transaction. Requires network-specific parameters. - Reference: ref:unified-create-stake-transaction 2. Sign Transaction: - Description: The unsigned transaction received from the API must be signed using the user's preferred signing method or provided tools. - Reference: doc:unified-api-signing-transaction 3. Broadcast Transaction: - Method: POST - Endpoint: /api/v1/unified/transaction/broadcast - Description: Submits the signed transaction to the network for processing. Requires the signed transaction data. - Reference: ref:unified-transaction-send ``` -------------------------------- ### Install Project Dependencies Source: https://docs.p2p.org/docs/staking-ui-showcase-with-unified-api Shows how to install project dependencies using either npm or yarn, required before running the application. ```bash npm install # or yarn install ``` -------------------------------- ### Example Withdrawal Request (cURL) Source: https://docs.p2p.org/docs/unified-api-solana An example cURL request to create a withdrawal transaction for the Solana testnet. ```curl curl --request POST \ --url https://api-test.p2p.org/api/v1/unified/staking/withdraw \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data '{ \ "chain": "solana", \ "network": "testnet", \ "stakerAddress": "9FfyCk9kqgfpg1gYMw8rhksZcAg4JiD9xhuMvkFVdjQY", \ "extra": { \ "amount": "1002282880" \ } \ }' ``` -------------------------------- ### Clone P2P.ORG Unified API Demo Repository Source: https://docs.p2p.org/docs/staking-ui-showcase-with-unified-api Demonstrates cloning the reference implementation repository for the P2P.ORG Unified API staking showcase. ```bash git clone https://github.com/AndreGZommerfelds/p2p-unified-api-demo-example-1.git cd p2p-unified-api-demo-example-1 ``` -------------------------------- ### Broadcast Transaction Example Source: https://docs.p2p.org/docs/unified-api-avail Example cURL request to broadcast a signed transaction to the P2P API for the Avail network. ```curl curl --request POST \ --url https://api-test.p2p.org/api/v1/unified/transaction/broadcast \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data '{ \ "chain": "avail", \ "network": "testnet", \ "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", \ "signedTransaction": "0xf1028400365b17c9f769d13458469cf2c0eb89e65bef71e3d86cbc75d07ee7b076ca706f01566c41fdc460e5a2f91003a874f2a8698d83984681b58e58d79c773dd58a80158c58eac3e9589f504d81ed1e82333957c7a06dcc30a12745186b37788e19f388b4000800000102080a00170000a0dec5adc9353603365b17c9f769d13458469cf2c0eb89e65bef71e3d86cbc75d07ee7b076ca706f0a050400b25bf90ee3ce10bce071ef48539e7f2aae424038bffb4a50e1e0d6bf961e982f" \ }' ``` -------------------------------- ### Unified API Unstaking and Withdrawal Workflow Source: https://docs.p2p.org/docs/unified-api-getting-started Details the process for unstaking and withdrawing assets via the Unified API. This involves creating unstake and withdraw transactions, signing them, and broadcasting. ```APIDOC Unified API Unstaking and Withdrawal Process: 1. Create Unstaking Transaction: - Method: POST - Endpoint: /api/v1/unified/staking/unstake/ - Description: Initiates the creation of an unstaking transaction. Requires network-specific parameters. - Reference: ref:unified-create-unstake-transaction 2. Sign and Broadcast Unstake Transaction: - Description: Sign the unsigned unstake transaction and broadcast it to the network using the /api/v1/unified/transaction/broadcast endpoint. 3. Create Withdrawal Transaction: - Method: POST - Endpoint: /api/v1/unified/staking/withdraw - Description: Initiates the creation of a withdrawal transaction to complete the unstaking process. Requires network-specific parameters. - Reference: ref:unified-create-withdraw-transaction 4. Sign and Broadcast Withdraw Transaction: - Description: Sign the unsigned withdraw transaction and broadcast it to the network using the /api/v1/unified/transaction/broadcast endpoint. ``` -------------------------------- ### Unstaking Request Example Source: https://docs.p2p.org/docs/unified-api-avail Example cURL request to create an unstaking request via the P2P API for the Avail network. ```curl curl --request POST \ --url https://api-test.p2p.org/api/v1/unified/staking/unstake \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data '{ \ "chain": "avail", \ "network": "testnet", \ "stakerAddress": "5DHyW8yCpJEAzFm1jyk5qbNXicd3Dg1tyNAEcPVLjTBCQEgG", \ "extra": { \ "amount": 500 \ } \ }' ``` -------------------------------- ### Request SSV Node Setup Source: https://docs.p2p.org/docs/getting-started-ssv Initiates the setup of SSV nodes by sending a POST request to the P2P API. Requires a unique ID, validator count, staking amount, withdrawal credentials, and addresses. The response indicates if the request was successful. ```curl curl --request POST \ --url https://api.p2p.org/api/v1/eth/staking/ssv/request/create \ --header 'accept: application/json' \ --header 'authorization: Bearer ' \ --header 'content-type: application/json' \ --data \ '{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa5", "validatorsCount": "1", "amountPerValidator": "32000000000", "withdrawalCredentialsType": "0x01", "withdrawalAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17", "feeRecipientAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17", "ssvOwnerAddress": "0x39D02C253dA1d9F85ddbEB3B6Dc30bc1EcBbFA17", "type": "without-encrypt-key", "operationPeriodInDays": 30, "ecdhPublicKey": null }' ``` ```APIDOC POST /api/v1/eth/staking/ssv/request/create Request Body: id (string, required): Arbitrary UUID for tracking the operation. validatorsCount (string, required): Number of validators (e.g., "1"). amountPerValidator (string, required): Staking amount in Gwei per validator (e.g., "32000000000"). withdrawalCredentialsType (string, required): Withdrawal credentials format ('0x01' or '0x02'). withdrawalAddress (string, required): 0x01 prefixed withdrawal address. feeRecipientAddress (string, required): Eth1 address for priority fees and MEV rewards. ssvOwnerAddress (string, required): Address acting as the owner of the SSV cluster. type (string, required): Operation type ('without-encrypt-key' or 'with-encrypt-key'). operationPeriodInDays (integer, required): Duration of the operation in days. ecdhPublicKey (string | null, optional): ECDH public key for encrypted validator private key. Response: 200 OK: content: application/json: schema: type: object properties: error: { type: string | null } result: { type: boolean } example: { "error": null, "result": true } ``` -------------------------------- ### Example Withdrawal Response Source: https://docs.p2p.org/docs/unified-api-solana An example JSON response received after successfully creating a withdrawal request, containing transaction data to be signed. ```json { "error": null, "result": { "stakerAddress": "6GtymMn8cDTy3xHH9AitwP6skbKvBkD53XBE2xSu1tCR", "unsignedTransactionData": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMFgWOF0j3LZd8/2fe+xWth5iFvfdEnpRBZ9lu0+nSj6cBOXOtVnnzgdQsGlzC2Y3c6ptktzhYaKKHNw0Bi1oHf4gah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxjHdMkoVmOYaR1etoteuKObS21cc1VbIQAAAAAGp9UXGTWE0P7tm7NDHRMga+VEKBtXuFZsxTdf9AAAAPOAx5l5F5rUaY7eB6UQVXzEi9E6HWzj9Mg5vRAcUMlcAQIFAQADBAAMBAAAAICfvTsAAAAA", "createdAt": "2024-12-17T19:49:22.476Z", "extraData": { "network": "testnet", "feePayer": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw", "withdrawAuthority": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw", "recipient": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw", "amount": 1002282880 } } } ``` -------------------------------- ### API Reference: SDK Snippets Configuration Source: https://docs.p2p.org/recipes/solana-%E8%B4%A8%E6%8A%BC%E6%A1%88%E4%BE%8B-unified-api Configures the behavior of SDK snippets within the API reference documentation, including defaults and response example visibility. ```APIDOC reference: api_sdk_snippets: "enabled" defaults: "always_use" response_examples: "expanded" response_schemas: "collapsed" ``` -------------------------------- ### Example Withdrawal Response (JSON) Source: https://docs.p2p.org/docs/unified-api-near An example JSON response received after successfully creating a withdrawal request, including transaction details and an unsigned transaction. ```json { "error": null, "result": { "amount": "1", "stakerAddress": "c9cd49da4fb3cade542d625fa909ac443e77a1cb10e0287df6c5b8df7e4cc040", "unsignedTransactionData": "400000006339636434396461346662336361646535343264363235666139303961633434336537376131636231306530323837646636633562386466376534636330343000c9cd49da4fb3cade542d625fa909ac443e77a1cb10e0287df6c5b8df7e4cc0400b146f9cac7e0000130000007032702d6f72672e706f6f6c76312e6e656172afa6fb301707310d7c898f7c9f83fc8bc91be960e3a286145afe416f8c418942010000000207000000756e7374616b65260000007b22616d6f756e74223a2231303030303030303030303030303030303030303030303030227d00203d88792d000000000000000000000000000000000000", "createdAt": "2025-02-10T22:36:14.547Z", "extraData": { "transactionId": "69f8b6f1-8b36-4429-843c-90107cfb5bfb", "stakeId": "6f102d59-b479-4a87-905b-7572b904bb01", "gasEstimate": { "amount": "0.025000000000000000", "gasLimit": "50000000000000" } } } } ``` -------------------------------- ### P2P.org Product Offerings Source: https://docs.p2p.org/docs/get-started Lists the different API products available from P2P.org for integration. Each product serves a specific purpose, ranging from multi-chain integration to specialized staking solutions and data analytics. ```APIDOC Product Overview: Unified API: For multi-chain integration. Staking API: For direct staking operations. Restaking API: For enhanced yield opportunities. DVT Staking API: For distributed validation solutions. Data API: For analytics and monitoring. ``` -------------------------------- ### Integrations: Stainless Configuration Source: https://docs.p2p.org/recipes/solana-%E8%B4%A8%E6%8A%BC%E6%A1%88%E4%BE%8B-unified-api Settings for integrating with Stainless, requiring an API key and project name. ```APIDOC integrations: stainless: key: null name: null ``` -------------------------------- ### Example Request to Check Transaction Status Source: https://docs.p2p.org/docs/getting-started-celestia An example cURL command demonstrating how to query the transaction status API for a specific transaction on the Celestia mainnet beta network. ```curl curl --request GET \ --url https://api-test.p2p.org/api/v1/celestia/celestia-mainnet-beta/transaction/status/ADD7B2791E1959075D1836D4BCC71ED256CCD724459F9BD8862D85E205075D47 \ --header 'accept: application/json' \ --header 'authorization: Bearer ' \ --header 'content-type: application/json' ``` -------------------------------- ### P2P.ORG Project Configuration Metadata Source: https://docs.p2p.org/recipes/sei-%E8%B4%A8%E6%8A%BC-%E7%BB%9F%E4%B8%80-api This JSON object contains configuration and metadata for the P2P.ORG project. It includes details about enabled modules, navigation names, user onboarding status, Owlbot AI settings, plan details, and readme score components. ```json { "mdxMigrationStatus": "rdmd", "metrics": { "monthlyLimit": 0, "thumbsEnabled": true, "monthlyPurchaseLimit": 0, "meteredBilling": {} }, "modules": { "landing": true, "docs": true, "examples": false, "reference": true, "graphql": false, "changelog": true, "discuss": false, "suggested_edits": true, "logs": false, "custompages": false, "tutorials": true }, "name": "P2P.ORG", "nav_names": { "docs": "Documentation", "reference": "", "changelog": "", "discuss": "", "recipes": "", "tutorials": "" }, "oauth_url": "", "onboardingCompleted": { "documentation": true, "appearance": true, "jwt": false, "api": true, "logs": false, "domain": true, "metricsSDK": false }, "owlbot": { "enabled": true, "isPaying": true, "customization": { "answerLength": "long", "customTone": "", "defaultAnswer": "", "forbiddenWords": "", "tone": "neutral" }, "copilot": { "enabled": false, "hasBeenUsed": false, "installedCustomPage": "" }, "lastIndexed": "2025-07-17T11:44:30.578Z" }, "owner": { "id": null, "email": null, "name": null }, "plan": "startup2018", "planOverride": "", "planSchedule": { "stripeScheduleId": null, "changeDate": null, "nextPlan": null }, "planStatus": "active", "planTrial": "startup2018", "readmeScore": { "components": { "newDesign": { "enabled": true, "points": 25 }, "reference": { "enabled": true, "points": 50 }, "tryItNow": { "enabled": true, "points": 35 }, "syncingOAS": { "enabled": false, "points": 10 }, "customLogin": { "enabled": false, "points": 25 }, "metrics": { "enabled": false, "points": 40 }, "recipes": { "enabled": true, "points": 15 }, "pageVoting": { "e": "" } } } } ```