{ "openapi" : "3.0.3", "info" : { "title" : "apibuilder api", "version" : "0.14.3-46-g35788525", "description" : "Host API documentation for applications providing REST APIs, facilitating the design of good resource first APIs." }, "servers" : [ { "url" : "https://api.apibuilder.io" } ], "paths" : { "/_internal_/healthcheck" : { "get" : { "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderGeneratorV0ModelsHealthcheck" } } } } } } }, "/_internal_/migrate" : { "get" : { "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "object", "additionalProperties" : { "type" : "string" } } } } } } } }, "/attributes" : { "get" : { "description" : "Search all attributes. Results are always paginated.", "parameters" : [ { "name" : "guid", "in" : "query", "description" : "Find the watch with this guid.", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "name", "in" : "query", "description" : "Find attributes with this name. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } } } } }, "post" : { "description" : "Create a new attribute.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeForm" } } }, "required" : true }, "responses" : { "201" : { "description" : "Created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "401" : { "description" : "Unauthorized" }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/attributes/{name}" : { "get" : { "description" : "Returns the attribute with this name.", "parameters" : [ { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "404" : { "description" : "Not found" } } }, "delete" : { "description" : "Deletes the attribute with this name. Only the user who created an attribute can delete it.", "parameters" : [ { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/authentications/session/{id}" : { "get" : { "parameters" : [ { "name" : "id", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAuthentication" } } } }, "404" : { "description" : "Not found" } } } }, "/changes" : { "get" : { "parameters" : [ { "name" : "org_key", "in" : "query", "description" : "Filter changes to those made for the organization with this key.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "application_key", "in" : "query", "description" : "Filter changes to those made for the application with this key.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "from", "in" : "query", "description" : "Filter changes to those made from this version.", "required" : false, "schema" : { "type" : "string" }, "example" : "0.1.3" }, { "name" : "to", "in" : "query", "description" : "Filter changes to those made to this version.", "required" : false, "schema" : { "type" : "string" }, "example" : "0.1.4" }, { "name" : "type", "in" : "query", "description" : "The type of diff to return.", "required" : false, "schema" : { "type" : "string" }, "example" : "breaking or non_breaking" }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsChange" } } } } } } } }, "/domains/{orgKey}" : { "post" : { "description" : "Add a domain to this organization", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsDomain" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsDomain" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/domains/{orgKey}/{name}" : { "delete" : { "description" : "Remove this domain from this organization", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/email_verification_confirmations" : { "post" : { "description" : "Validate an email address using a token.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsEmailVerificationConfirmationForm" } } }, "required" : true }, "responses" : { "204" : { "description" : "No content" }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/generator_services" : { "get" : { "description" : "List all generator services", "parameters" : [ { "name" : "guid", "in" : "query", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "uri", "in" : "query", "required" : false, "schema" : { "type" : "string" } }, { "name" : "generator_key", "in" : "query", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorService" } } } } } } }, "post" : { "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorServiceForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorService" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/generator_services/{guid}" : { "get" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorService" } } } }, "404" : { "description" : "Not found" } } }, "delete" : { "description" : "Deletes a generator service.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/generators" : { "get" : { "description" : "List all available generators", "parameters" : [ { "name" : "guid", "in" : "query", "description" : "Filter to generator with this guid", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "service_guid", "in" : "query", "description" : "Filter to generator from this service", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "service_uri", "in" : "query", "description" : "Filter to generator from this service URI", "required" : false, "schema" : { "type" : "string" } }, { "name" : "attribute_name", "in" : "query", "description" : "Filter to generators that use this attribute", "required" : false, "schema" : { "type" : "string" } }, { "name" : "key", "in" : "query", "description" : "Filter to generator with this key", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorWithService" } } } } } } } }, "/generators/{key}" : { "get" : { "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorWithService" } } } }, "404" : { "description" : "Not found" } } } }, "/items" : { "get" : { "parameters" : [ { "name" : "q", "in" : "query", "description" : "The search query. At the moment, we do case insensitive exact match search.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsItem" } } } } } } } }, "/items/{guid}" : { "get" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsItem" } } } }, "404" : { "description" : "Not found" } } } }, "/membership_requests" : { "get" : { "description" : "Search all membership requests. Results are always paginated.", "parameters" : [ { "name" : "org_guid", "in" : "query", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "org_key", "in" : "query", "required" : false, "schema" : { "type" : "string" } }, { "name" : "user_guid", "in" : "query", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "role", "in" : "query", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsMembershipRequest" } } } } } } }, "post" : { "description" : "Create a membership request", "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "type" : "object", "required" : [ "org_guid", "user_guid", "role" ], "properties" : { "org_guid" : { "type" : "string", "format" : "uuid" }, "user_guid" : { "type" : "string", "format" : "uuid" }, "role" : { "type" : "string" } } } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsMembershipRequest" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/membership_requests/{guid}/accept" : { "post" : { "description" : "Accepts this membership request. User will become a member of the specified organization.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/membership_requests/{guid}/decline" : { "post" : { "description" : "Declines this membership request. User will NOT become a member of the specified organization.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/memberships" : { "get" : { "description" : "Search all memberships. Results are always paginated.", "parameters" : [ { "name" : "org_guid", "in" : "query", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "org_key", "in" : "query", "required" : false, "schema" : { "type" : "string" } }, { "name" : "user_guid", "in" : "query", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "role", "in" : "query", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsMembership" } } } } } } } }, "/memberships/{guid}" : { "get" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsMembership" } } } }, "404" : { "description" : "Not found" } } }, "delete" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/organizations" : { "get" : { "description" : "Search all organizations. Results are always paginated.", "parameters" : [ { "name" : "guid", "in" : "query", "description" : "Finds the organization with this guid, if any", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "user_guid", "in" : "query", "description" : "If specified, restricts to organizations that this user is specifically a member of (e.g. will exclude public organizations with which the user does not have a direct membership).", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "key", "in" : "query", "description" : "Find organizations with this key. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "query", "description" : "Find organizations with this name. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "namespace", "in" : "query", "description" : "Find organizations with this namespace. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" } } } } } } }, "post" : { "description" : "Create a new organization.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganizationForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/organizations/{key}" : { "get" : { "description" : "Returns the organization with this key.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" } } } }, "404" : { "description" : "Not found" } } }, "put" : { "description" : "Update an organization.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganizationForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } }, "delete" : { "description" : "Deletes an organization and all of its associated applications.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/organizations/{key}/attributes" : { "get" : { "description" : "Returns all attribute values for this organization. Results are always paginated.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "query", "description" : "Find the values for the attribute with this name.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeValue" } } } } } } } }, "/organizations/{key}/attributes/{name}" : { "get" : { "description" : "Returns the attribute value with this name.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeValue" } } } }, "404" : { "description" : "Not found" } } }, "put" : { "description" : "Create or update a new attribute value.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeValueForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeValue" } } } }, "201" : { "description" : "Created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeValue" } } } }, "404" : { "description" : "Not found" }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } }, "delete" : { "description" : "Deletes the attribute value with the specified name. Only the user who created an attribute value can delete it.", "parameters" : [ { "name" : "key", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/password_reset_requests" : { "post" : { "description" : "Create a new password reset. This will send the user an email with a link to reset their password.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsPasswordResetRequest" } } }, "required" : true }, "responses" : { "204" : { "description" : "No content" }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/password_resets" : { "post" : { "description" : "Change the password for this token. If the token is invalid, has been used, or otherwise no longer can be applied, errors will be returned as 409s. A 204 represents that the user has successfully changed their password.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsPasswordReset" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAuthentication" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/subscriptions" : { "get" : { "description" : "Search subscriptions. Always paginated.", "parameters" : [ { "name" : "guid", "in" : "query", "description" : "Find the subscription with this guid.", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "organization_key", "in" : "query", "description" : "Find subscriptions for this organization.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "user_guid", "in" : "query", "description" : "Find subscriptions for this user.", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "publication", "in" : "query", "description" : "Find subscriptions for this publication.", "required" : false, "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsPublication" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsSubscription" } } } } } } }, "post" : { "description" : "Create a new subscription.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsSubscriptionForm" } } }, "required" : true }, "responses" : { "201" : { "description" : "Created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsSubscription" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/subscriptions/{guid}" : { "get" : { "description" : "Returns information about a specific subscription.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsSubscription" } } } }, "404" : { "description" : "Not found" } } }, "delete" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/tokens" : { "post" : { "description" : "Create a new API token for this user", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsTokenForm" } } }, "required" : true }, "responses" : { "201" : { "description" : "Created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsToken" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/tokens/users/{user_guid}" : { "get" : { "parameters" : [ { "name" : "user_guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "guid", "in" : "query", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsToken" } } } } } } } }, "/tokens/{guid}" : { "delete" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/tokens/{guid}/cleartext" : { "get" : { "description" : "Used to fetch the clear text token.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsCleartextToken" } } } }, "404" : { "description" : "Not found" } } } }, "/users" : { "get" : { "description" : "Search for a specific user. You must specify at least 1 parameter - either a guid, email or token - and will receive back either 0 or 1 users.", "parameters" : [ { "name" : "guid", "in" : "query", "description" : "Find user with this guid. Exact match", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "email", "in" : "query", "description" : "Find user with this email address. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "nickname", "in" : "query", "description" : "Find user with the specified nickname. For users that register via GitHub, this will be their GitHub username. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "token", "in" : "query", "description" : "Find the user with this API token. Exact match", "required" : false, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" } } } } } } }, "post" : { "description" : "Create a new user.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUserForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/users/authenticate" : { "post" : { "description" : "Used to authenticate a user with an email address and password. Successful authentication returns an instance of the user model. Failed authorizations of any kind are returned as a generic error with code user_authorization_failed.", "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "type" : "object", "required" : [ "email", "password" ], "properties" : { "email" : { "type" : "string" }, "password" : { "type" : "string" } } } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAuthentication" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/users/authenticate_github" : { "post" : { "description" : "Used to authenticate a user using a github access token. This is equivalent to running the following command to get the user info: curl -H 'Authorization: Bearer code' https://api.github.com/user", "requestBody" : { "content" : { "application/x-www-form-urlencoded" : { "schema" : { "type" : "object", "required" : [ "token" ], "properties" : { "token" : { "type" : "string" } } } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAuthentication" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/users/{guid}" : { "get" : { "description" : "Returns information about the user with this guid.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" } } } }, "404" : { "description" : "Not found" } } }, "put" : { "description" : "Updates information about the user with the specified guid.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUserUpdateForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/validations" : { "post" : { "requestBody" : { "content" : { "application/json" : { "schema" : { "type" : "string" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsValidation" } } } } } } }, "/watches" : { "get" : { "description" : "Search attributes. Always paginated.", "parameters" : [ { "name" : "guid", "in" : "query", "description" : "Find the watch with this guid.", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "user_guid", "in" : "query", "description" : "Find attributes for this user.", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "organization_key", "in" : "query", "description" : "Find attributes for this organization.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "application_key", "in" : "query", "description" : "Find attributes for this application.", "required" : false, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsWatch" } } } } } } }, "post" : { "description" : "Create a new watch.", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsWatchForm" } } }, "required" : true }, "responses" : { "201" : { "description" : "Created", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsWatch" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/watches/check" : { "get" : { "description" : "Quick check if a user is watching a specific application.", "parameters" : [ { "name" : "user_guid", "in" : "query", "description" : "The user for which we are checking. API returns false if the user guid is not provided", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "organization_key", "in" : "query", "required" : true, "schema" : { "type" : "string" } }, { "name" : "application_key", "in" : "query", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "boolean" } } } } } } }, "/watches/{guid}" : { "get" : { "description" : "Returns information about a specific watch.", "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsWatch" } } } }, "404" : { "description" : "Not found" } } }, "delete" : { "parameters" : [ { "name" : "guid", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/{orgKey}" : { "get" : { "description" : "Search all applications. Results are always paginated.", "parameters" : [ { "name" : "orgKey", "in" : "path", "description" : "The organization key for which to search applications", "required" : true, "schema" : { "type" : "string" } }, { "name" : "name", "in" : "query", "description" : "The name of an application. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "guid", "in" : "query", "description" : "The guid of an application. Exact match", "required" : false, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "key", "in" : "query", "description" : "The key of an application. Case in-sensitive. Exact match", "required" : false, "schema" : { "type" : "string" } }, { "name" : "has_version", "in" : "query", "description" : "If true, we return applications that have at least one version. If false, we return applications that have no versions in the system", "required" : false, "schema" : { "type" : "boolean" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "sort_by", "in" : "query", "required" : false, "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsAppSortBy" } }, { "name" : "order", "in" : "query", "required" : false, "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsSortOrder" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" } } } } } } }, "post" : { "description" : "Create an application.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplicationForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/{orgKey}/metadata/{applicationKey}/versions" : { "get" : { "description" : "Returns the versions assocoated with the specified application. The latest version is the first result returned.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplicationMetadataVersion" } } } } }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/{orgKey}/metadata/{applicationKey}/versions/latest.txt" : { "get" : { "description" : "Returns the latest version number as a string", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "string" } } } }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/{orgKey}/{applicationKey}" : { "get" : { "description" : "Search all versions of this application. Results are always paginated.", "parameters" : [ { "name" : "orgKey", "in" : "path", "description" : "The organization key for which to search versions", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "description" : "The application key for which to search versions", "required" : true, "schema" : { "type" : "string" } }, { "name" : "limit", "in" : "query", "description" : "The number of records to return", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } }, { "name" : "offset", "in" : "query", "description" : "Used to paginate. First page of results is 0.", "required" : true, "schema" : { "type" : "integer", "format" : "int64" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsVersion" } } } } } } }, "put" : { "description" : "Updates an application.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplicationForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } }, "post" : { "description" : "Create a new version for an application", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "version", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsVersionForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsVersion" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } }, "delete" : { "description" : "Deletes a specific application and its associated versions.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/{orgKey}/{applicationKey}/move" : { "post" : { "description" : "Moves application to a new organization.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsMoveForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } }, "/{orgKey}/{applicationKey}/{version}" : { "get" : { "description" : "Retrieve a specific version of an application.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "version", "in" : "path", "description" : "The version of tthis application to download, or the keyword latest to get the latest version", "required" : true, "schema" : { "type" : "string" }, "example" : "latest" } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsVersion" } } } }, "404" : { "description" : "Not found" } } }, "put" : { "description" : "Upsert a version of an application", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "version", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsVersionForm" } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsVersion" } } } }, "409" : { "description" : "Conflict", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } }, "delete" : { "description" : "Deletes a specific version.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "version", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "204" : { "description" : "No content" }, "401" : { "description" : "Unauthorized" }, "404" : { "description" : "Not found" } } } }, "/{orgKey}/{applicationKey}/{version}/example/{type_name}" : { "get" : { "description" : "Generates an example JSON document of the type with the specified name.", "parameters" : [ { "name" : "orgKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "version", "in" : "path", "description" : "The version of this application to download, or the keyword latest to get the latest version", "required" : true, "schema" : { "type" : "string" }, "example" : "latest" }, { "name" : "type_name", "in" : "path", "description" : "The name of the type (e.g. model name) for which you would like to generate a sample json document", "required" : true, "schema" : { "type" : "string" } }, { "name" : "sub_type_name", "in" : "query", "description" : "The name of the sub-type for which you would like to generate a sample json document, e.g. a specific type of a union", "required" : false, "schema" : { "type" : "string" } }, { "name" : "optional_fields", "in" : "query", "description" : "If true, we generate sample data for all optional fields. Otherwise the generated sample will contain only required fields, where applicable", "required" : false, "schema" : { "type" : "boolean" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "object", "additionalProperties" : true } } } }, "404" : { "description" : "Not found" } } } }, "/{orgKey}/{applicationKey}/{version}/{generatorKey}" : { "get" : { "description" : "Generate code for a specific version of an application.", "parameters" : [ { "name" : "orgKey", "in" : "path", "description" : "The organization key for which to generate code", "required" : true, "schema" : { "type" : "string" } }, { "name" : "applicationKey", "in" : "path", "description" : "The application key for which to generate code", "required" : true, "schema" : { "type" : "string" } }, { "name" : "version", "in" : "path", "description" : "The version of this application. Can be 'latest'", "required" : true, "schema" : { "type" : "string" } }, { "name" : "generatorKey", "in" : "path", "description" : "The key of the generator to invoke", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsCode" } } } }, "404" : { "description" : "Not found" }, "409" : { "description" : "If the target, version, and/or generator are invalid.", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsError" } } } } } } } } }, "components" : { "schemas" : { "IoApibuilderCommonV0ModelsAudit" : { "type" : "object", "required" : [ "created_at", "created_by", "updated_at", "updated_by" ], "properties" : { "created_at" : { "type" : "string", "format" : "date-time" }, "created_by" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReferenceGuid" }, "updated_at" : { "type" : "string", "format" : "date-time" }, "updated_by" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReferenceGuid" } } }, "IoApibuilderCommonV0ModelsReferenceGuid" : { "type" : "object", "required" : [ "guid" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" } } }, "IoApibuilderCommonV0ModelsReference" : { "description" : "Represents a reference to another model.", "type" : "object", "required" : [ "guid", "key" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" }, "key" : { "type" : "string" } } }, "IoApibuilderGeneratorV0ModelsGenerator" : { "description" : "The generator metadata.", "type" : "object", "required" : [ "key", "name", "attributes" ], "properties" : { "key" : { "type" : "string" }, "name" : { "type" : "string" }, "language" : { "description" : "A comma separate list of the programming language(s) that this generator produces", "example" : "scala", "type" : "string" }, "description" : { "type" : "string" }, "attributes" : { "description" : "The list of attributes that this code generator can use. You can find the full list of available attributes and their descriptions at http://apibuilder.io/doc/attributes", "type" : "array", "items" : { "type" : "string" } } } }, "IoApibuilderGeneratorV0ModelsFile" : { "description" : "Represents a source file", "type" : "object", "required" : [ "name", "contents" ], "properties" : { "name" : { "description" : "The recommended name for the file.", "example" : "ApiCollectiveApiBuilderApiClient.scala", "type" : "string" }, "dir" : { "description" : "The recommended directory path for the file where appropriate.", "example" : "io/apicollective/apibuilder", "type" : "string" }, "contents" : { "description" : "The actual source code.", "type" : "string" }, "flags" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderGeneratorV0EnumsFileFlag" } } } }, "IoApibuilderGeneratorV0ModelsHealthcheck" : { "type" : "object", "required" : [ "status" ], "properties" : { "status" : { "example" : "healthy", "type" : "string" } } }, "IoApibuilderSpecV0ModelsBody" : { "type" : "object", "required" : [ "type", "attributes" ], "properties" : { "type" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsModel" : { "type" : "object", "required" : [ "name", "plural", "fields", "attributes", "interfaces" ], "properties" : { "name" : { "type" : "string" }, "plural" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "fields" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsField" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } }, "interfaces" : { "type" : "array", "items" : { "type" : "string" } } } }, "IoApibuilderSpecV0ModelsDeprecation" : { "description" : "Indicates that this particular element is considered deprecated in the API. See the description for details", "type" : "object", "properties" : { "description" : { "type" : "string" } } }, "IoApibuilderSpecV0ModelsField" : { "type" : "object", "required" : [ "name", "type", "required", "attributes", "annotations" ], "properties" : { "name" : { "type" : "string" }, "type" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "default" : { "type" : "string" }, "required" : { "type" : "boolean" }, "minimum" : { "type" : "integer", "format" : "int64" }, "maximum" : { "type" : "integer", "format" : "int64" }, "example" : { "type" : "string" }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } }, "annotations" : { "type" : "array", "items" : { "type" : "string" } } } }, "IoApibuilderSpecV0ModelsUnion" : { "type" : "object", "required" : [ "name", "plural", "types", "attributes", "interfaces" ], "properties" : { "name" : { "type" : "string" }, "plural" : { "type" : "string" }, "discriminator" : { "description" : "If a type discriminator is provided, serialization of these union types will always contain a field named with the value of the discriminator that will contain the name of the type. This provides a simpler (for many use cases) JSON serialization/deserialization mechanism. When specified, apibuilder itself will verify that none of the types in the union type itself contain a field with the same name as the discriminator", "example" : "discriminator or type", "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "types" : { "description" : "The names of the types that make up this union type", "type" : "array", "minItems" : 1, "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsUnionType" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } }, "interfaces" : { "type" : "array", "items" : { "type" : "string" } } } }, "IoApibuilderSpecV0ModelsAnnotation" : { "description" : "Used to indicate an API concern for a field that is specific to the field's usage but not necessarily its data type. For example, you might use annotations to mark that certain fields contain PII or PCI data and thus should not be stored once processing is complete. Annotations communicate meaning to consumers of an API and may also be used within an implementation or tooling; for example, using static analysis tools to detect logging of sensitive data.", "type" : "object", "required" : [ "name" ], "properties" : { "name" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" } } }, "IoApibuilderSpecV0ModelsHeader" : { "type" : "object", "required" : [ "name", "type", "required", "attributes" ], "properties" : { "name" : { "type" : "string" }, "type" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "required" : { "type" : "boolean" }, "default" : { "type" : "string" }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsOperation" : { "type" : "object", "required" : [ "method", "path", "parameters", "responses", "attributes" ], "properties" : { "method" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0EnumsMethod" }, "path" : { "description" : "The full path to this operation, relative to the service's base url.", "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "body" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsBody" }, "parameters" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsParameter" } }, "responses" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsResponse" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsOrganization" : { "type" : "object", "required" : [ "key" ], "properties" : { "key" : { "description" : "Unique key identifying the organization that owns this service", "type" : "string" } } }, "IoApibuilderSpecV0ModelsEnumValue" : { "type" : "object", "required" : [ "name", "attributes" ], "properties" : { "name" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } }, "value" : { "description" : "The actual string representation of this value. If not specified, defaults to 'name'", "type" : "string" } } }, "IoApibuilderSpecV0ModelsService" : { "type" : "object", "required" : [ "name", "organization", "application", "namespace", "version", "info", "headers", "imports", "enums", "interfaces", "unions", "models", "resources", "attributes", "annotations" ], "properties" : { "apidoc" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsApidoc", "description" : "Documents that this is an apibuilder document, noting the specific version used. Internally the version is then used for backwards compatibility when applicable as new features are added to apibuilder. Note naming refers to the original name of this project, 'apidoc', and is left here to avoid a breaking change for preexisting services.", "deprecated" : true }, "name" : { "type" : "string" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" }, "application" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" }, "namespace" : { "description" : "Fully qualified namespace for this service", "example" : "io.apibuilder", "type" : "string" }, "version" : { "example" : "1.0.0", "type" : "string" }, "base_url" : { "type" : "string" }, "description" : { "type" : "string" }, "info" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsInfo" }, "headers" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsHeader" } }, "imports" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsImport" } }, "enums" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsEnum" } }, "interfaces" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsInterface" } }, "unions" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsUnion" } }, "models" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsModel" } }, "resources" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsResource" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } }, "annotations" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsAnnotation" } } } }, "IoApibuilderSpecV0ModelsResource" : { "type" : "object", "required" : [ "type", "plural", "operations", "attributes" ], "properties" : { "type" : { "description" : "The type of this resource will map to a defined model, enum, or union type", "type" : "string" }, "plural" : { "type" : "string" }, "path" : { "description" : "The path to this specific resource. This was added in 2016 to help us differentiate between the resource path and the operation path which can be helpful when, for example, generating method names for operations. This field is optional as some of our input formats (e.g. swagger) do not explicitly differentiate resoure paths.", "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "operations" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsOperation" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsEnum" : { "type" : "object", "required" : [ "name", "plural", "values", "attributes" ], "properties" : { "name" : { "type" : "string" }, "plural" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "values" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsEnumValue" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsLicense" : { "description" : "Describes the software license contact for this service", "type" : "object", "required" : [ "name" ], "properties" : { "name" : { "example" : "MIT", "type" : "string" }, "url" : { "example" : "http://opensource.org/licenses/MIT", "type" : "string" } } }, "IoApibuilderSpecV0ModelsApidoc" : { "type" : "object", "required" : [ "version" ], "properties" : { "version" : { "example" : "1.0.3", "type" : "string" } } }, "IoApibuilderSpecV0ModelsImport" : { "description" : "An import is used to declare a dependency on another application. This allows you to reference the models and or enums from that application in your own app.", "type" : "object", "required" : [ "uri", "namespace", "organization", "application", "version", "enums", "interfaces", "unions", "models", "annotations" ], "properties" : { "uri" : { "description" : "Full URI to the service.json file of the service we are importing", "example" : "https://www.apibuilder.io/apicollective/apibuilder-spec/0.7.38/service.json", "type" : "string" }, "namespace" : { "description" : "the fully qualified namespace that we have imported", "example" : "io.apibuilder", "type" : "string" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" }, "application" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" }, "version" : { "description" : "The version of the service that we are importing", "example" : "1.0.0", "type" : "string" }, "enums" : { "description" : "Enums made available by this import", "type" : "array", "items" : { "type" : "string" } }, "interfaces" : { "description" : "Interfaces made available by this import", "type" : "array", "items" : { "type" : "string" } }, "unions" : { "description" : "Unions made available by this import", "type" : "array", "items" : { "type" : "string" } }, "models" : { "description" : "Models made available by this import", "type" : "array", "items" : { "type" : "string" } }, "annotations" : { "description" : "Annotations made available by this import", "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsAnnotation" } } } }, "IoApibuilderSpecV0ModelsUnionType" : { "description" : "Metadata about one of the types that is part of a union type", "type" : "object", "required" : [ "type", "attributes" ], "properties" : { "type" : { "description" : "The name of a type (a primitive, model name, or enum name) that makes up this union type", "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "fields" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsField" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } }, "default" : { "description" : "If true, indicates that this type should be used as the default when deserializing union types. This field is only used by union types that require a discriminator and sets the default value for that discriminator during deserialization.", "type" : "boolean" }, "discriminator_value" : { "description" : "The discriminator value defines the string to use in the discriminator field to identify this type. If not specified, the discriminator value will default to the name of the type itself.", "type" : "string" } } }, "IoApibuilderSpecV0ModelsResponse" : { "type" : "object", "required" : [ "code", "type" ], "properties" : { "code" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0UnionsResponseCode" }, "type" : { "type" : "string" }, "headers" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsHeader" } }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsAttribute" : { "description" : "Represents an additional attribute that is attached to one of the objects in apibuilder. The main use case is to capture additional metadata that doesn't necessarily define the API but aids in code generation. Examples would be hints for certain code generators about classes to extend, interfaces to implement, annotations to add, names to assign to certain methods, etc. The specific attributes will be applicable only in the context of the specific code generators usings them.", "type" : "object", "required" : [ "name", "value" ], "properties" : { "name" : { "type" : "string" }, "value" : { "type" : "object", "additionalProperties" : true }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" } } }, "IoApibuilderSpecV0ModelsParameter" : { "type" : "object", "required" : [ "name", "type", "location", "required" ], "properties" : { "name" : { "type" : "string" }, "type" : { "type" : "string" }, "location" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0EnumsParameterLocation" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "required" : { "type" : "boolean" }, "default" : { "type" : "string" }, "minimum" : { "type" : "integer", "format" : "int64" }, "maximum" : { "type" : "integer", "format" : "int64" }, "example" : { "type" : "string" }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderSpecV0ModelsInfo" : { "description" : "General metadata about this service", "type" : "object", "properties" : { "license" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsLicense" }, "contact" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsContact" } } }, "IoApibuilderSpecV0ModelsApplication" : { "type" : "object", "required" : [ "key" ], "properties" : { "key" : { "description" : "Unique key identifying this application", "type" : "string" } } }, "IoApibuilderSpecV0ModelsContact" : { "description" : "Describes the primary contact for this service", "type" : "object", "properties" : { "name" : { "example" : "Michael Bryzek", "type" : "string" }, "url" : { "example" : "https://www.apibuilder.io", "type" : "string" }, "email" : { "example" : "michael@test.apibuilder.io", "type" : "string" } } }, "IoApibuilderSpecV0ModelsInterface" : { "type" : "object", "required" : [ "name", "plural", "fields", "attributes" ], "properties" : { "name" : { "type" : "string" }, "plural" : { "type" : "string" }, "description" : { "type" : "string" }, "deprecation" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsDeprecation" }, "fields" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsField" } }, "attributes" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttribute" } } } }, "IoApibuilderApiV0ModelsChange" : { "description" : "Represents a single change from one version of a service to another", "type" : "object", "required" : [ "guid", "organization", "application", "from_version", "to_version", "diff", "changed_at", "changed_by", "audit" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReference" }, "application" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReference" }, "from_version" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsChangeVersion" }, "to_version" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsChangeVersion" }, "diff" : { "$ref" : "#/components/schemas/IoApibuilderApiV0UnionsDiff" }, "changed_at" : { "description" : "Records the timestamp of when the actual change occurred (vs. when we created the changed record)", "type" : "string", "format" : "date-time" }, "changed_by" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUserSummary", "description" : "Records who made the actual change" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsDiffNonBreaking" : { "description" : "Represents a single NON breaking diff of an application version.", "type" : "object", "required" : [ "description" ], "properties" : { "description" : { "example" : "name diffd from foo to bar", "type" : "string" } } }, "IoApibuilderApiV0ModelsAuthentication" : { "description" : "Represents the result of a successful authorization", "type" : "object", "required" : [ "user", "session" ], "properties" : { "user" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" }, "session" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsSession" } } }, "IoApibuilderApiV0ModelsUserSummary" : { "description" : "Summary of a user sufficient for display", "type" : "object", "required" : [ "guid", "nickname" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" }, "nickname" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsCode" : { "description" : "Generated source code.", "type" : "object", "required" : [ "generator", "source", "files" ], "properties" : { "generator" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorWithService" }, "source" : { "description" : "The actual source code.", "deprecated" : true, "type" : "string" }, "files" : { "description" : "A collection of source files", "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderGeneratorV0ModelsFile" } } } }, "IoApibuilderApiV0ModelsGeneratorService" : { "description" : "Defines a service that provides one or more code generators", "type" : "object", "required" : [ "guid", "uri", "audit" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" }, "uri" : { "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsApplicationForm" : { "type" : "object", "required" : [ "name", "visibility" ], "properties" : { "name" : { "type" : "string" }, "key" : { "description" : "Defaults to a key generated from the application name", "type" : "string" }, "description" : { "type" : "string" }, "visibility" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsVisibility" } } }, "IoApibuilderApiV0ModelsValidation" : { "description" : "Used only to validate json files - used as a resource where http status code defines success", "type" : "object", "required" : [ "valid", "errors" ], "properties" : { "valid" : { "description" : "If true, the json schema is valid. If false, there is at least one validation error.", "type" : "boolean" }, "errors" : { "description" : "Contains any validation errors that result from parsing the json document. If empty, the document is valid.", "type" : "array", "items" : { "type" : "string" } } } }, "IoApibuilderApiV0ModelsVersionForm" : { "type" : "object", "required" : [ "original_form" ], "properties" : { "original_form" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOriginalForm" }, "visibility" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsVisibility", "description" : "If provided, updates the visibility for all versions of this application" } } }, "IoApibuilderApiV0ModelsOrganizationForm" : { "type" : "object", "required" : [ "name", "namespace", "visibility" ], "properties" : { "name" : { "type" : "string" }, "key" : { "description" : "Defaults to a url friendy version of the name", "type" : "string" }, "namespace" : { "description" : "Global namespace for this organization.", "example" : "io.apicollective", "type" : "string" }, "visibility" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsVisibility", "description" : "Public organizations will be listed in apibuilder directory. Organizations with visibility organization will only be visible to members of that org." }, "domains" : { "example" : "apibuilder.io", "type" : "array", "items" : { "type" : "string" } } } }, "IoApibuilderApiV0ModelsVersion" : { "description" : "Represents a unique version of the application.", "type" : "object", "required" : [ "guid", "organization", "application", "version", "service", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this version.", "type" : "string", "format" : "uuid" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReference" }, "application" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReference" }, "version" : { "description" : "The tag for this version. Can be anything, but if semver style version number is used, we automatically correctly sort by version number to find latest. Otherwise latest version is considered to be the most recently created.", "example" : "1.0.0", "type" : "string" }, "original" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOriginal", "description" : "The original uploaded file describing this version, if available" }, "service" : { "$ref" : "#/components/schemas/IoApibuilderSpecV0ModelsService", "description" : "spec/spec.json description of this API" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsEmailVerificationConfirmationForm" : { "description" : "Data used to confirm an email address. The token is an internal unique identifier used to lookup the specific email address and user account for which we sent an email verification email.", "type" : "object", "required" : [ "token" ], "properties" : { "token" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsWatch" : { "description" : "Users can watch individual applications which enables features like receiving an email notification when there is a new version of an application.", "type" : "object", "required" : [ "guid", "user", "organization", "application", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this watch", "type" : "string", "format" : "uuid" }, "user" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" }, "application" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplication" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsApplicationMetadata" : { "type" : "object", "required" : [ "guid", "key" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this application.", "type" : "string", "format" : "uuid" }, "key" : { "description" : "Used as a unique key in the URL path. Key is automatically derived from the application name.", "type" : "string" } } }, "IoApibuilderApiV0ModelsSession" : { "description" : "Represents a user sessions (e.g. user logged into site)", "type" : "object", "required" : [ "id", "expires_at" ], "properties" : { "id" : { "description" : "Cryptographically secure session id", "type" : "string" }, "expires_at" : { "type" : "string", "format" : "date-time" } } }, "IoApibuilderApiV0ModelsTokenForm" : { "type" : "object", "required" : [ "user_guid" ], "properties" : { "user_guid" : { "description" : "The user for which we are creating the token.", "type" : "string", "format" : "uuid" }, "description" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsUserUpdateForm" : { "type" : "object", "required" : [ "email", "nickname" ], "properties" : { "email" : { "type" : "string" }, "nickname" : { "type" : "string" }, "name" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsDiffBreaking" : { "description" : "Represents a single breaking diff of an application version. A breaking diff indicates that it is possible for an existing client to now experience an error or invalid data due to the diff.", "type" : "object", "required" : [ "description" ], "properties" : { "description" : { "example" : "model removed: user", "type" : "string" } } }, "IoApibuilderApiV0ModelsAttribute" : { "description" : "Attributes are globally unique key which allow users to specify additional content to pass in to the code generators.", "type" : "object", "required" : [ "guid", "name", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this attribute.", "type" : "string", "format" : "uuid" }, "name" : { "description" : "The name of the attribute. Globally unique and an 'identifier' (lower case, url safe, etc.)", "type" : "string" }, "description" : { "description" : "Optional description - a good description here will indicate which code generators it applies to and what effect it will have on those code generators.", "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsSubscription" : { "description" : "Represents a user that is currently subscribed to a publication", "type" : "object", "required" : [ "guid", "organization", "user", "publication", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this subscription record", "type" : "string", "format" : "uuid" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" }, "user" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" }, "publication" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsPublication" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsApplicationMetadataVersion" : { "description" : "Describes the versions associated with a given application", "type" : "object", "required" : [ "version" ], "properties" : { "version" : { "example" : "0.2.5", "type" : "string" } } }, "IoApibuilderApiV0ModelsPasswordResetRequest" : { "description" : "Create a password reset request - e.g. an email containing a one time URL to change a password", "type" : "object", "required" : [ "email" ], "properties" : { "email" : { "description" : "The email address for which we generate the password reset.", "type" : "string" } } }, "IoApibuilderApiV0ModelsError" : { "type" : "object", "required" : [ "code", "message" ], "properties" : { "code" : { "description" : "Machine readable code for this specific error message", "type" : "string" }, "message" : { "description" : "Description of the error", "type" : "string" } } }, "IoApibuilderApiV0ModelsUser" : { "description" : "A user is a top level person interacting with the api doc server.", "type" : "object", "required" : [ "guid", "email", "nickname", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this user.", "type" : "string", "format" : "uuid" }, "email" : { "type" : "string" }, "nickname" : { "description" : "Public unique identifier for this user.", "type" : "string" }, "name" : { "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsCleartextToken" : { "description" : "Separate resource used only for the few actions that require the full token.", "type" : "object", "required" : [ "token" ], "properties" : { "token" : { "description" : "The actual token. Guaranteed to be globally unique.", "type" : "string" } } }, "IoApibuilderApiV0ModelsAttributeForm" : { "type" : "object", "required" : [ "name" ], "properties" : { "name" : { "type" : "string" }, "description" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsDomain" : { "description" : "Represents a single domain name (e.g. www.apibuilder.io). When a new user registers and confirms their email, we automatically associate that user with a member of the organization associated with their domain. For example, if you confirm your account with an email address of example@somedomain.com, we will automatically create a membership request on your behalf to join the organization with domain somedomain.com.", "type" : "object", "required" : [ "name" ], "properties" : { "name" : { "description" : "The domain name", "example" : "www.apibuilder.io", "type" : "string" } } }, "IoApibuilderApiV0ModelsGeneratorForm" : { "type" : "object", "required" : [ "service_guid", "generator" ], "properties" : { "service_guid" : { "type" : "string", "format" : "uuid" }, "generator" : { "$ref" : "#/components/schemas/IoApibuilderGeneratorV0ModelsGenerator" } } }, "IoApibuilderApiV0ModelsGeneratorServiceForm" : { "type" : "object", "required" : [ "uri" ], "properties" : { "uri" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsApplicationSummary" : { "description" : "Summary of an application sufficient for display and links", "type" : "object", "required" : [ "guid", "organization", "key" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReference" }, "key" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsToken" : { "description" : "A token gives a user access to the API.", "type" : "object", "required" : [ "guid", "user", "masked_token", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this token.", "type" : "string", "format" : "uuid" }, "user" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser", "description" : "The user to which this token belongs." }, "masked_token" : { "description" : "The masked from of the token.", "type" : "string" }, "description" : { "description" : "optional description to help the user manage the token.", "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsChangeVersion" : { "description" : "Represents a simpler model of a version specifically for the use case of displaying changes", "type" : "object", "required" : [ "guid", "version" ], "properties" : { "guid" : { "type" : "string", "format" : "uuid" }, "version" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsMoveForm" : { "type" : "object", "required" : [ "org_key" ], "properties" : { "org_key" : { "description" : "The key of the organization to which we are moving this item", "type" : "string" } } }, "IoApibuilderApiV0ModelsWatchForm" : { "type" : "object", "required" : [ "user_guid", "organization_key", "application_key" ], "properties" : { "user_guid" : { "type" : "string", "format" : "uuid" }, "organization_key" : { "type" : "string" }, "application_key" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsAttributeValueForm" : { "type" : "object", "required" : [ "value" ], "properties" : { "value" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsItem" : { "description" : "When searching for content, the results of the search will be a list of items. Each item will have enough information to render for the user, including a type and item_guid to enable creating the appropriate link.", "type" : "object", "required" : [ "guid", "detail", "label" ], "properties" : { "guid" : { "description" : "Unique identifer for this item. By using a UUID, you can combine with the type to figure out the URI for the resource", "type" : "string", "format" : "uuid" }, "detail" : { "$ref" : "#/components/schemas/IoApibuilderApiV0UnionsItemDetail" }, "label" : { "type" : "string" }, "description" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsApplication" : { "description" : "An application has a name and multiple versions of its API.", "type" : "object", "required" : [ "guid", "organization", "name", "key", "visibility", "last_updated_at", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this application.", "type" : "string", "format" : "uuid" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsReference" }, "name" : { "description" : "The unique name for this application.", "type" : "string" }, "key" : { "description" : "Used as a unique key in the URL path. Key is automatically derived from the application name.", "type" : "string" }, "visibility" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsVisibility", "description" : "Controls who is able to view this application" }, "description" : { "type" : "string" }, "last_updated_at" : { "description" : "The updated_at of this application or created_at of it's latest version", "type" : "string", "format" : "date-time" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsPasswordReset" : { "description" : "Allows a user to change their password with authentication from a token.", "type" : "object", "required" : [ "token", "password" ], "properties" : { "token" : { "description" : "Unique one time use token to change a password", "type" : "string" }, "password" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsOriginal" : { "description" : "Represents the original input used to create an application version", "type" : "object", "required" : [ "type", "data" ], "properties" : { "type" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsOriginalType" }, "data" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsUserForm" : { "type" : "object", "required" : [ "email", "password" ], "properties" : { "email" : { "type" : "string" }, "password" : { "type" : "string" }, "nickname" : { "description" : "Defaults to a unique identifier based on email address", "type" : "string" }, "name" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsMembershipRequest" : { "description" : "A membership request represents a user requesting to join an organization with a specific role (e.g. as a member or an admin). Membership requests can be reviewed by any current admin of the organization who can either accept or decline the request.", "type" : "object", "required" : [ "guid", "user", "organization", "role", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this membership request.", "type" : "string", "format" : "uuid" }, "user" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" }, "role" : { "description" : "The requested role for membership to this organization. Typically member or admin.", "example" : "member", "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsOriginalForm" : { "type" : "object", "required" : [ "data" ], "properties" : { "type" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsOriginalType", "description" : "If not specified, we set the type by inspecting the data" }, "data" : { "type" : "string" } } }, "IoApibuilderApiV0ModelsOrganization" : { "description" : "An organization is used to group a set of applications together.", "type" : "object", "required" : [ "guid", "key", "name", "namespace", "visibility", "domains", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this organization.", "type" : "string", "format" : "uuid" }, "key" : { "description" : "Used as a unique key in the URL path. Key is automatically derived from the organization name.", "type" : "string" }, "name" : { "description" : "The name of this organization.", "type" : "string" }, "namespace" : { "description" : "Global namespace for this organization.", "example" : "io.apicollective", "type" : "string" }, "visibility" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsVisibility" }, "domains" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsDomain" } }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsGeneratorWithService" : { "description" : "Wraps a service and a generator providing easier access for applications.", "type" : "object", "required" : [ "service", "generator" ], "properties" : { "service" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsGeneratorService" }, "generator" : { "$ref" : "#/components/schemas/IoApibuilderGeneratorV0ModelsGenerator" } } }, "IoApibuilderApiV0ModelsMembership" : { "description" : "A membership represents a user in a specific role to an organization. Memberships cannot be created directly. Instead you first create a membership request, then that request is either accepted or declined.", "type" : "object", "required" : [ "guid", "user", "organization", "role", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this membership.", "type" : "string", "format" : "uuid" }, "user" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsUser" }, "organization" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsOrganization" }, "role" : { "description" : "The role this user plays for this organization. Typically member or admin.", "example" : "member", "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsAttributeValue" : { "description" : "Attribute values can be set at different levels. Initially we support setting organization wide attributes, but in the future plan to support setting attribute values with each version of the application.", "type" : "object", "required" : [ "guid", "attribute", "value", "audit" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this attribute value.", "type" : "string", "format" : "uuid" }, "attribute" : { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsAttributeSummary" }, "value" : { "type" : "string" }, "audit" : { "$ref" : "#/components/schemas/IoApibuilderCommonV0ModelsAudit" } } }, "IoApibuilderApiV0ModelsSubscriptionForm" : { "type" : "object", "required" : [ "organization_key", "user_guid", "publication" ], "properties" : { "organization_key" : { "type" : "string" }, "user_guid" : { "type" : "string", "format" : "uuid" }, "publication" : { "$ref" : "#/components/schemas/IoApibuilderApiV0EnumsPublication" } } }, "IoApibuilderApiV0ModelsAttributeSummary" : { "type" : "object", "required" : [ "guid", "name" ], "properties" : { "guid" : { "description" : "Internal unique identifier for this attribute.", "type" : "string", "format" : "uuid" }, "name" : { "description" : "The name of the attribute. Globally unique and an 'identifier' (lower case, url safe, etc.)", "type" : "string" } } }, "IoApibuilderGeneratorV0EnumsFileFlag" : { "description" : "Allows generator authors to flag files with special characteristics. It is up to the client (i.e. the cli) to decide how to interpret them.", "type" : "string", "enum" : [ "scaffolding" ] }, "IoApibuilderSpecV0EnumsParameterLocation" : { "type" : "string", "enum" : [ "Path", "Query", "Form", "Header" ] }, "IoApibuilderSpecV0EnumsResponseCodeOption" : { "type" : "string", "enum" : [ "Default" ] }, "IoApibuilderSpecV0EnumsMethod" : { "type" : "string", "enum" : [ "GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "CONNECT", "OPTIONS", "TRACE" ] }, "IoApibuilderApiV0EnumsVisibility" : { "description" : "Controls who is able to view this version", "type" : "string", "enum" : [ "user", "organization", "public" ] }, "IoApibuilderApiV0EnumsAppSortBy" : { "type" : "string", "enum" : [ "name", "created_at", "updated_at", "visibility" ] }, "IoApibuilderApiV0EnumsOriginalType" : { "type" : "string", "enum" : [ "api_json", "avro_idl", "service_json", "swagger" ] }, "IoApibuilderApiV0EnumsSortOrder" : { "type" : "string", "enum" : [ "asc", "desc" ] }, "IoApibuilderApiV0EnumsPublication" : { "description" : "A publication represents something that a user can subscribe to. An example would be subscribing to an email alert whenever a new version of an application is created.", "type" : "string", "enum" : [ "membership_requests.create", "memberships.create", "applications.create", "versions.create" ] }, "IoApibuilderSpecV0UnionsResponseCode" : { "oneOf" : [ { "$ref" : "#/components/schemas/Integer" }, { "$ref" : "#/components/schemas/IoApibuilderSpecV0EnumsResponseCodeOption" } ] }, "IoApibuilderApiV0UnionsItemDetail" : { "description" : "Identifies the specific type of item that was indexed by search", "oneOf" : [ { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsApplicationSummary" } ] }, "IoApibuilderApiV0UnionsDiff" : { "description" : "Represents a single diff in an application", "oneOf" : [ { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsDiffBreaking" }, { "$ref" : "#/components/schemas/IoApibuilderApiV0ModelsDiffNonBreaking" } ] } } } }