Skip to content

Instantly share code, notes, and snippets.

@wobba
Created October 4, 2017 10:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wobba/ea1651c3a7643556412410ddfc5f2c23 to your computer and use it in GitHub Desktop.
Save wobba/ea1651c3a7643556412410ddfc5f2c23 to your computer and use it in GitHub Desktop.
Flow Swagger
{
"swagger": "2.0",
"info": {
"title": "Pzl.O365.ProvisioningFunctions",
"version": "1.0.0"
},
"host": "foo.azurewebsites.net",
"basePath": "/",
"schemes": ["https"],
"definitions": {
"Parameter": {
"type": "object",
"properties": {
"Key": {
"description": "Extra PnP token to parse for template. Example. 'Foo' becomes '{parameter:Foo}' in the template.",
"type": "string"
},
"Value": {
"description": "Value to replace with",
"type": "string"
}
},
"required": ["Key", "Value"]
},
"ApplyTemplateRequest": {
"type": "object",
"properties": {
"SiteURL": {
"description": "URL of site to apply template",
"type": "string"
},
"TemplateURL": {
"description": "SPO URL to the .pnp template",
"type": "string"
},
"Parameters": {
"description": "Replacement tokens to be used in .pnp templates",
"type": "array",
"items": {
"$ref": "#/definitions/Parameter"
}
}
},
"required": ["SiteURL", "TemplateURL"]
},
"ApplyTemplateResponse": {
"type": "object",
"properties": {
"TemplateApplied": {
"description": "True if template was applied",
"type": "boolean"
}
}
},
"IsSiteReadyRequest": {
"type": "object",
"properties": {
"SiteURL": {
"description": "URL of site",
"type": "string"
}
},
"required": ["SiteURL"]
},
"IsSiteReadyResponse": {
"type": "object",
"properties": {
"IsSiteReady": {
"description": "True/false if site is ready to accept modifications via API's",
"type": "boolean"
}
}
},
"MakeEveryoneExceptExternalVisitorsRequest": {
"type": "object",
"properties": {
"SiteURL": {
"description": "URL of site",
"type": "string"
}
},
"required": ["SiteURL"]
},
"MakeEveryoneExceptExternalVisitorsResponse": {
"type": "object",
"properties": {
"EveryOneExceptExternalMoved": {
"description": "Everyone group was moved from member to visitor",
"type": "boolean"
}
}
},
"SetSiteColorRequest": {
"type": "object",
"properties": {
"SiteURL": {
"description": "URL of site",
"type": "string"
},
"RGB": {
"description": "RGB color in hex notation. Eg. #00ff00",
"type": "string"
}
},
"required": ["SiteURL", "RGB"]
},
"SetSiteColorResponse": {
"type": "object",
"properties": {
"ColorSet": {
"description": "True if color was set",
"type": "boolean"
}
}
},
"SetSiteLanguageRequest": {
"type": "object",
"properties": {
"SiteURL": {
"description": "URL of site",
"type": "string"
},
"LanguageIds": {
"description": "LCID codes for languages. 1033 = English, 1044 = Norwegian",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["SiteURL", "LanguageIds"]
},
"SetSiteLanguageResponse": {
"type": "object",
"properties": {
"LanguagesModified": {
"description": "True if languages was changed from the previous state",
"type": "boolean"
}
}
},
"AddMemberRequest": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
},
"LoginName": {
"description": "Unique login name of the member (user principal name)",
"type": "string"
}
},
"required": ["GroupId", "LoginName"]
},
"AddMemberResponse": {
"type": "object",
"properties": {
"Added": {
"description": "true/false if added",
"type": "boolean"
}
}
},
"AddOwnerRequest": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
},
"LoginName": {
"description": "Unique login name of the owner (user principal name)",
"type": "string"
}
},
"required": ["GroupId", "LoginName"]
},
"AddOwnerResponse": {
"type": "object",
"properties": {
"Added": {
"description": "true/false if added",
"type": "boolean"
}
}
},
"CreateGroupRequest": {
"type": "object",
"properties": {
"Name": {
"description": "This returns String",
"type": "string"
},
"Description": {
"description": "This returns String",
"type": "string"
},
"Type": {
"description": "Samhandling / Prosjekt / Ekstranett",
"type": "string"
},
"Responsible": {
"description": "This returns String",
"type": "string"
},
"Public": {
"description": "This returns Boolean",
"type": "boolean"
}
},
"required": ["Name", "Description", "Type", "Responsible", "Public"]
},
"CreateGroupResponse": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
}
}
},
"GetClassificationValuesResponse": {
"type": "object",
"properties": {
"DefaultClassification": {
"description": "Default classification value if set",
"type": "string"
},
"Classifications": {
"description": "List of classification values for the tenant",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"GetGroupSiteRequest": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
}
},
"required": ["GroupId"]
},
"GetGroupSiteResponse": {
"type": "object",
"properties": {
"SiteURL": {
"description": "URL of site",
"type": "string"
}
}
},
"AllowExternalMembersInGroupRequest": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
},
"ExternalAllowed": {
"description": "Specify if external users can be added as members",
"type": "boolean"
}
},
"required": ["GroupId"]
},
"AllowExternalMembersInGroupResponse": {
"type": "object",
"properties": {
"ExternalAllowed": {
"description": "True/false if external users are allowed as members",
"type": "boolean"
}
}
},
"SetGraphMetadataRequest": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
},
"Key": {
"description": "Metadata name. Valid values are: groupType / responsible",
"type": "string",
"enum": ["GroupType", "Responsible", "StartDate", "EndDate"]
},
"Value": {
"description": "Metadata value",
"type": "string"
}
},
"required": ["GroupId", "Key", "Value"]
},
"SetGraphMetadataResponse": {
"type": "object",
"properties": {
"Added": {
"description": "true/false if added",
"type": "boolean"
}
}
},
"SetGroupClassificationRequest": {
"type": "object",
"properties": {
"GroupId": {
"description": "Id of the Office 365 Group",
"type": "string"
},
"Classification": {
"description": "Classification label to be used",
"type": "string"
}
},
"required": ["GroupId", "Classification"]
},
"SetGroupClassificationResponse": {
"type": "object",
"properties": {
"IsUpdated": {
"description": "true/false if set",
"type": "boolean"
}
}
}
},
"paths": {
"/api/ApplyTemplate": {
"post": {
"operationId": "ApplytemplatePost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ApplyTemplateRequest"
}
}
],
"summary": "Apply PnP template to site",
"description": "Apply a PnP template to the site.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/ApplyTemplateResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/IsSiteReady": {
"post": {
"operationId": "IssitereadyPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/IsSiteReadyRequest"
}
}
],
"summary": "Check if Modern Team Site is ready",
"description": "Check if the team site is 100% ready before running operations against it.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/IsSiteReadyResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/MakeEveryoneExceptExternalVisitors": {
"post": {
"operationId": "MakeeveryoneexceptexternalvisitorsPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/MakeEveryoneExceptExternalVisitorsRequest"
}
}
],
"summary": "Move Everyone (except external) users from member to visitor",
"description": "In a public group make everyone visitors and not contributors.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/MakeEveryoneExceptExternalVisitorsResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/SetSiteColor": {
"post": {
"operationId": "SetsitecolorPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SetSiteColorRequest"
}
}
],
"summary": "Set color theme for the site",
"description": "Define a color scheme for the site based off a base color.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SetSiteColorResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/SetSiteLanguage": {
"post": {
"operationId": "SetsitelanguagePost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SetSiteLanguageRequest"
}
}
],
"summary": "Set allowed languages for the site",
"description": "Which languages should be available by default for a site.",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SetSiteLanguageResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/AddMember": {
"post": {
"operationId": "AddmemberPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AddMemberRequest"
}
}
],
"summary": "Add an member to an Office 365 Group",
"description": "This action will add an member to an Office 365 Group",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/AddMemberResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/AddOwner": {
"post": {
"operationId": "AddownerPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AddOwnerRequest"
}
}
],
"summary": "Add an owner to an Office 365 Group",
"description": "This action will add an owner to an Office 365 Group",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/AddOwnerResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/CreateGroup": {
"post": {
"operationId": "CreategroupPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateGroupRequest"
}
}
],
"summary": "Create Office 365 Group",
"description": "This action will create a new Office 365 Group",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/CreateGroupResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/GetClassificationValues": {
"get": {
"operationId": "GetclassificationvaluesGet",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [],
"summary": "Retreive classification values",
"description": "Fetch the classification values defined on the tenant for Office 365 Groups",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClassificationValuesResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/GetGroupSite": {
"post": {
"operationId": "GetgroupsitePost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/GetGroupSiteRequest"
}
}
],
"summary": "Get site URL for Office 365 Group",
"description": "Retreive the URL to the Modern Team Site associated with the Office 365 Group",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetGroupSiteResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/AllowExternalMembersInGroup": {
"post": {
"operationId": "AllowexternalmembersingroupPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AllowExternalMembersInGroupRequest"
}
}
],
"summary": "Enable or disable invitation of external members",
"description": "Allow or disallow invitation of external members to the Office 365 Group",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/AllowExternalMembersInGroupResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/SetGraphMetadata": {
"post": {
"operationId": "SetgraphmetadataPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SetGraphMetadataRequest"
}
}
],
"summary": "Set Office 365 Group metadata",
"description": "Store metadata for the Office 365 Group in the Microsoft Graph",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SetGraphMetadataResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
},
"/api/SetGroupClassification": {
"post": {
"operationId": "SetgroupclassificationPost",
"produces": ["application/json"],
"consumes": ["application/json"],
"parameters": [{
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SetGroupClassificationRequest"
}
}
],
"summary": "Set classification value for an Office 365 Group",
"description": "Set the classification value for the Office 365 Group",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SetGroupClassificationResponse"
}
}
},
"security": [{
"apikeyQuery": []
}
]
}
}
},
"securityDefinitions": {
"apikeyQuery": {
"type": "apiKey",
"name": "code",
"in": "query"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment