{"swagger": "2.0", "info": {"title": "Pera Wallet API", "version": "v1"}, "host": "mainnet.api.perawallet.app", "schemes": ["https"], "basePath": "/v1", "consumes": ["application/json"], "produces": ["application/json"], "securityDefinitions": {}, "paths": {"/asset-verifications/{asset_id}/": {"get": {"operationId": "asset-verifications_read", "summary": "Asset Verification Detail", "description": "This public endpoint returns `Asset` verification information about a specific `ASA`\non the Algorand blockchain. This is the recommended public API for fetching the\nverification status of an `ASA` from Pera. More details about the verification\nprogram can be found here: https://explorer.perawallet.app/asa-verification/", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/PublicAssetVerificationDetailSerializer.Response"}}}, "tags": ["Public Deprecated"], "deprecated": true}, "parameters": [{"name": "asset_id", "in": "path", "required": true, "type": "integer"}]}, "/labeled-assets/": {"get": {"operationId": "labeled-assets_list", "summary": "Labeled Asset List", "description": "This public endpoint returns `verified` `suspicious` assets with asset verification information by excluding `unverified` ones.\n\nPagination is handled via the limit query parameter.", "parameters": [{"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}, {"name": "cursor", "in": "query", "description": "The pagination cursor value.", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["results"], "type": "object", "properties": {"next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/PublicSimpleAssetSerializer.Response"}}}}}}, "tags": ["Public Deprecated"], "deprecated": true}, "parameters": []}, "/public/asset-verifications/{asset_id}/": {"get": {"operationId": "public_asset-verifications_read", "summary": "Asset Verification Detail", "description": "This public endpoint returns `Asset` verification information about a specific `ASA`\non the Algorand blockchain. This is the recommended public API for fetching the\nverification status of an `ASA` from Pera. More details about the verification\nprogram can be found here: https://explorer.perawallet.app/asa-verification/", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/PublicAssetVerificationDetailSerializer.Response"}}}, "tags": ["Public"]}, "parameters": [{"name": "asset_id", "in": "path", "required": true, "type": "integer"}]}, "/public/assets/": {"get": {"operationId": "public_assets_list", "summary": "Asset List", "description": "This public endpoint returns all assets.\n\n- Response is cached for 5 min.\n- Maximum page size: 1000\n- Default page size: 50\n- Page size options: 50, 100, 500, 1000", "parameters": [{"name": "filter", "in": "query", "description": "['is_verified', 'is_collectible']", "required": false, "type": "string"}, {"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}, {"name": "cursor", "in": "query", "description": "The pagination cursor value.", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["results"], "type": "object", "properties": {"next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/PublicAssetSerializer.Response"}}}}}}, "tags": ["Public"]}, "parameters": []}, "/public/assets/{asset_id}/": {"get": {"operationId": "public_assets_read", "summary": "Asset Detail", "description": "This public endpoint returns details of an asset.\n\n- Response is cached for 5 min.", "parameters": [{"name": "include_collectible", "in": "query", "required": false, "type": "boolean", "default": true}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/PublicAssetDetailSerializer.Response"}}}, "tags": ["Public"]}, "parameters": [{"name": "asset_id", "in": "path", "required": true, "type": "string"}]}, "/public/labeled-assets/": {"get": {"operationId": "public_labeled-assets_list", "summary": "Labeled Asset List", "description": "This is a simplified endpoint that returns all labeled assets in a single response. The endpoint returns verified and suspicious assets with asset verification label by excluding unverified ones. If your business logic needs to know the labeled asset ids, this is the endpoint you should use. It is lightweight and doesn't require pagination.\n- Response is cached for 5 min.", "parameters": [{"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}], "responses": {"200": {"description": "", "schema": {"type": "array", "items": {"$ref": "#/definitions/PublicSimpleAssetSerializer.Response"}}}}, "tags": ["Public"]}, "parameters": []}, "/public/verified-assets/": {"get": {"operationId": "public_verified-assets_list", "summary": "Verified Asset List", "description": "This is a simplified endpoint that returns all verified assets in a single response. The endpoint returns verified assets with asset verification label by excluding suspicious and unverified ones. If your business logic needs to know the verified asset ids, this is the endpoint you should use. It is lightweight and doesn't require pagination.\n- Response is cached for 5 min.", "parameters": [{"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}], "responses": {"200": {"description": "", "schema": {"type": "array", "items": {"$ref": "#/definitions/PublicSimpleAssetSerializer.Response"}}}}, "tags": ["Public"]}, "parameters": []}, "/verified-assets/": {"get": {"operationId": "verified-assets_list", "summary": "Verified Asset List", "description": "This public endpoint returns `verified` asset ids.\n\nPagination is handled via the limit query parameter.", "parameters": [{"name": "ordering", "in": "query", "description": "Which field to use when ordering the results.", "required": false, "type": "string"}, {"name": "cursor", "in": "query", "description": "The pagination cursor value.", "required": false, "type": "string"}, {"name": "limit", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["results"], "type": "object", "properties": {"next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"$ref": "#/definitions/PublicSimpleAssetSerializer.Response"}}}}}}, "tags": ["Public Deprecated"], "deprecated": true}, "parameters": []}}, "definitions": {"PublicAssetVerificationDetailSerializer.Response": {"required": ["asset_id", "verification_tier", "explorer_url"], "type": "object", "properties": {"asset_id": {"title": "Asset id", "type": "integer", "maximum": 9223372036854775807, "minimum": 0}, "verification_tier": {"title": "Verification tier", "type": "string", "enum": ["trusted", "verified", "unverified", "suspicious"]}, "explorer_url": {"title": "Explorer url", "type": "string", "format": "uri", "minLength": 1}}}, "PublicSimpleAssetSerializer.Response": {"required": ["asset_id", "verification_tier"], "type": "object", "properties": {"asset_id": {"title": "Asset id", "type": "integer", "maximum": 9223372036854775807, "minimum": 0}, "verification_tier": {"title": "Verification tier", "type": "string", "enum": ["trusted", "verified", "unverified", "suspicious"]}}}, "PublicAssetSerializer.Response": {"required": ["asset_id", "fraction_decimals", "total_supply", "creator_address", "verification_tier", "is_collectible"], "type": "object", "properties": {"asset_id": {"title": "Asset id", "type": "integer", "maximum": 9223372036854775807, "minimum": 0}, "name": {"title": "Name", "type": "string", "maxLength": 255}, "unit_name": {"title": "Unit name", "type": "string", "maxLength": 255}, "fraction_decimals": {"title": "Fraction decimals", "type": "integer", "maximum": 2147483647, "minimum": 0}, "total_supply": {"title": "Total supply", "type": "integer"}, "is_deleted": {"title": "Is deleted", "type": "string", "readOnly": true}, "creator_address": {"title": "Creator address", "type": "string", "minLength": 1}, "url": {"title": "Url", "type": "string", "maxLength": 255}, "logo": {"title": "Logo", "type": "string", "readOnly": true, "format": "uri"}, "verification_tier": {"title": "Verification tier", "type": "string", "enum": ["trusted", "verified", "unverified", "suspicious"]}, "usd_value": {"title": "Usd value", "type": "string", "format": "decimal", "x-nullable": true}, "is_collectible": {"title": "Is collectible", "type": "boolean"}}}, "PublicVerificationDetails": {"required": ["project_name", "project_url", "project_description"], "type": "object", "properties": {"project_name": {"title": "Project name", "type": "string", "maxLength": 255, "minLength": 1}, "project_url": {"title": "Project url", "type": "string", "format": "uri", "maxLength": 255, "minLength": 1}, "project_description": {"title": "Project description", "type": "string", "minLength": 1}, "discord_url": {"title": "Discord url", "type": "string", "format": "uri", "maxLength": 255}, "telegram_url": {"title": "Telegram url", "type": "string", "format": "uri", "maxLength": 255}, "twitter_username": {"title": "Twitter username", "type": "string", "pattern": "^(\\w){1,15}$", "maxLength": 255}}}, "PublicMedia": {"required": ["type", "extension"], "type": "object", "properties": {"type": {"title": "Type", "type": "string", "enum": ["image", "video", "audio", "mixed", "unknown"]}, "url": {"title": "Url", "description": "Pera or Algonode IPFS URL.", "type": "string", "readOnly": true}, "ipfs_cid": {"title": "Ipfs cid", "type": "string", "readOnly": true}, "extension": {"title": "Extension", "type": "string", "minLength": 1}}}, "Trait": {"required": ["display_value"], "type": "object", "properties": {"display_name": {"title": "Display name", "type": "string", "minLength": 1}, "display_value": {"title": "Display value", "type": "string", "minLength": 1}}}, "PublicCollectible": {"description": "The Algonode IPFS service is used for convenience in thumbnail_url and media.url. We recommend you to sign-up for a dedicated plan from Algonode.", "required": ["standards", "thumbnail_url", "thumbnail_ipfs_cid", "media", "traits"], "type": "object", "properties": {"title": {"title": "Title", "type": "string", "maxLength": 255}, "description": {"title": "Description", "type": "string"}, "standards": {"description": "arc3, arc69, arc19", "type": "array", "items": {"type": "string", "x-nullable": true}}, "thumbnail_url": {"title": "Thumbnail url", "description": "Pera or Algonode IPFS URL.", "type": "string", "format": "uri", "minLength": 1}, "thumbnail_ipfs_cid": {"title": "Thumbnail ipfs cid", "type": "string", "minLength": 1}, "media": {"type": "array", "items": {"$ref": "#/definitions/PublicMedia"}}, "metadata": {"title": "Metadata", "type": "object", "x-nullable": true}, "traits": {"type": "array", "items": {"$ref": "#/definitions/Trait"}}}}, "PublicAssetDetailSerializer.Response": {"required": ["asset_id", "fraction_decimals", "total_supply", "creator_address", "verification_tier", "is_collectible"], "type": "object", "properties": {"asset_id": {"title": "Asset id", "type": "integer", "maximum": 9223372036854775807, "minimum": 0}, "name": {"title": "Name", "type": "string", "maxLength": 255}, "unit_name": {"title": "Unit name", "type": "string", "maxLength": 255}, "fraction_decimals": {"title": "Fraction decimals", "type": "integer", "maximum": 2147483647, "minimum": 0}, "total_supply": {"title": "Total supply", "type": "integer"}, "is_deleted": {"title": "Is deleted", "type": "string", "readOnly": true}, "creator_address": {"title": "Creator address", "type": "string", "minLength": 1}, "url": {"title": "Url", "type": "string", "maxLength": 255}, "logo": {"title": "Logo", "type": "string", "readOnly": true, "format": "uri"}, "verification_tier": {"title": "Verification tier", "type": "string", "enum": ["trusted", "verified", "unverified", "suspicious"]}, "usd_value": {"title": "Usd value", "type": "string", "format": "decimal", "x-nullable": true}, "is_collectible": {"title": "Is collectible", "type": "boolean"}, "verification_details": {"$ref": "#/definitions/PublicVerificationDetails"}, "collectible": {"$ref": "#/definitions/PublicCollectible"}}}}}