# aries-cloudagent-python admin API consistification > This is a collaborative document In the admin API, the response format is inconsistent. Here are some examples of the current response format: ## Connections ### /connections/create-invitation `curl -X POST "http://localhost:5000/connections/create-invitation" -H "accept: application/json"` ```json { "connection_id": "a103460b-0f68-4969-92a0-47330ee885ce", "invitation": { "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation", "@id": "61f0c4f9-90a5-46dd-a704-bb9974e9a5d6", "serviceEndpoint": "http://localhost:8000", "label": "Aries Cloud Agent", "recipientKeys": [ "BBammzzceLHtaySmPTYmvRTPiknKgJWE8bXSjFdP7UE6" ] }, "invitation_url": "http://localhost:8000?c_i=eyJAdHlwZSI6ICJkaWQ6c292OkJ6Q2JzTlloTXJqSGlxWkRUVUFTSGc7c3BlYy9jb25uZWN0aW9ucy8xLjAvaW52aXRhdGlvbiIsICJAaWQiOiAiNjFmMGM0ZjktOTBhNS00NmRkLWE3MDQtYmI5OTc0ZTlhNWQ2IiwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiLCAibGFiZWwiOiAiQXJpZXMgQ2xvdWQgQWdlbnQiLCAicmVjaXBpZW50S2V5cyI6IFsiQkJhbW16emNlTEh0YXlTbVBUWW12UlRQaWtuS2dKV0U4YlhTakZkUDdVRTYiXX0=" } ``` ### /connections/receive-invitation `curl -X POST "http://localhost:5000/connections/receive-invitation" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"@type\": \"did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation\", \"@id\": \"61f0c4f9-90a5-46dd-a704-bb9974e9a5d6\", \"serviceEndpoint\": \"http://localhost:8000\", \"label\": \"Aries Cloud Agent\", \"recipientKeys\": [ \"BBammzzceLHtaySmPTYmvRTPiknKgJWE8bXSjFdP7UE6\" ] }"` ```json { "updated_at": "2020-05-21 18:23:15.689367Z", "state": "invitation", "created_at": "2020-05-21 18:23:15.689367Z", "connection_id": "e6bc91f4-64d3-4bf4-9f3e-88d3dc3100d7", "routing_state": "none", "accept": "manual", "initiator": "external", "invitation_mode": "once", "invitation_key": "BBammzzceLHtaySmPTYmvRTPiknKgJWE8bXSjFdP7UE6", "their_label": "Aries Cloud Agent" } ``` ## Schemas ### /schemas `curl -X POST "http://localhost:5000/schemas" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"attributes\": [ \"score\" ], \"schema_version\": \"1.0\", \"schema_name\": \"prefs\"}"` ```json { "schema_id": "7cfCiDw3nUy8S8nC4M76En:2:prefs:1.0", "schema": { "ver": "1.0", "id": "7cfCiDw3nUy8S8nC4M76En:2:prefs:1.0", "name": "prefs", "version": "1.0", "attrNames": [ "score" ], "seqNo": 20775 } } ``` ## Credential Definition ### /credential-definitions `curl -X POST "http://localhost:5000/credential-definitions" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"schema_id\": \"7cfCiDw3nUy8S8nC4M76En:2:prefs:1.0\", \"support_revocation\": false, \"tag\": \"default\"}"` ```json { "credential_definition_id": "7cfCiDw3nUy8S8nC4M76En:3:CL:20775:default" } ``` --- As you can see, response formats vary across all of our admin endpoints. We should create a consistent response format for all endpoints. Some ideas: ```json { "type": "connection", // the type of the model. Matches webhook topic? "id": 123 // Pull out relevant id from model? "created_at": "iso8601datestring", "updated_at": "iso8601datestring", "record": {} // serialized internal model } ``` Any other metadata we can include? What about list results? ```json { "index": 0, "count": 10, "next": "/path/to/next", "records": [] // Same data structure as single item above? } ``` We could add pagination too all endpoints in a consistent manner.