UNPKG

@open-rpc/examples

Version:

Collection of example OpenRPC service definition files

205 lines (204 loc) 5.9 kB
{ "openrpc": "1.0.0-rc1", "info": { "version": "1.0.0", "title": "Petstore", "license": { "name": "MIT" } }, "servers": [ { "url": "http://localhost:8080" } ], "methods": [ { "name": "list_pets", "summary": "List all pets", "tags": [ { "name": "pets" } ], "params": [ { "name": "limit", "description": "How many items to return at one time (max 100)", "required": false, "schema": { "type": "integer", "minimum": 1 } } ], "result": { "name": "pets", "description": "A paged array of pets", "schema": { "$ref": "#/components/schemas/Pets" } }, "errors": [ { "code": 100, "message": "pets busy" } ], "examples": [ { "name": "listPetExample", "description": "List pet example", "params": [ { "name": "limit", "value": 1 } ], "result": { "name": "listPetResultExample", "value": [ { "id": 7, "name": "fluffy", "tag": "poodle" } ] } } ] }, { "name": "create_pet", "summary": "Create a pet", "tags": [ { "name": "pets" } ], "params": [ { "name": "newPetName", "description": "Name of pet to create", "required": true, "schema": { "type": "string" } }, { "name": "newPetTag", "description": "Pet tag to create", "schema": { "type": "string" } } ], "examples": [ { "name": "createPetExample", "description": "Create pet example", "params": [ { "name": "newPetName", "value": "fluffy" }, { "name": "tag", "value": "poodle" } ], "result": { "name": "listPetResultExample", "value": 7 } } ], "result": { "$ref": "#/components/contentDescriptors/PetId" } }, { "name": "get_pet", "summary": "Info for a specific pet", "tags": [ { "name": "pets" } ], "params": [ { "$ref": "#/components/contentDescriptors/PetId" } ], "result": { "name": "pet", "description": "Expected response to a valid request", "schema": { "$ref": "#/components/schemas/Pet" } }, "examples": [ { "name": "getPetExample", "description": "get pet example", "params": [ { "name": "petId", "value": 7 } ], "result": { "name": "getPetExampleResult", "value": { "name": "fluffy", "tag": "poodle", "id": 7 } } } ] } ], "components": { "contentDescriptors": { "PetId": { "name": "petId", "required": true, "description": "The id of the pet to retrieve", "schema": { "$ref": "#/components/schemas/PetId" } } }, "schemas": { "PetId": { "type": "integer", "minimum": 0 }, "Pet": { "type": "object", "required": [ "id", "name" ], "properties": { "id": { "$ref": "#/components/schemas/PetId" }, "name": { "type": "string" }, "tag": { "type": "string" } } }, "Pets": { "type": "array", "items": { "$ref": "#/components/schemas/Pet" } } } } }