{ "openapi": "3.0.0", "components": { "schemas": { "CreateAccessKeyResponse": { "properties": { "accessKey": { "type": "string" }, "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "expires": { "description": "after this deadline the key is no longer valid", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "inactivityTimeout": { "description": "the key must be used by this time to remain valid", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "issuedForID": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "issuedForKind": { "type": "string" }, "name": { "type": "string" }, "providerID": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } }, "CreateGrantResponse": { "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "createdBy": { "description": "id of the user that created the grant", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "group": { "description": "GroupID for a group being granted access", "example": "3zMaadcd2U", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "id": { "description": "ID of grant created", "example": "3w9XyTrkzk", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "privilege": { "description": "a role or permission", "example": "admin", "type": "string" }, "resource": { "description": "a resource name in Infra's Universal Resource Notation", "example": "production.namespace", "type": "string" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "user": { "description": "UserID for a user being granted access", "example": "6hNnjfjVcc", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "wasCreated": { "description": "Indicates that grant was successfully created, false it already existed beforehand", "example": "true", "type": "boolean" } } }, "CreateTokenResponse": { "properties": { "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "token": { "type": "string" } } }, "CreateUserResponse": { "properties": { "id": { "description": "User ID", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "name": { "description": "Email address of the user", "example": "bob@example.com", "type": "string" }, "oneTimePassword": { "description": "One-time password (only returned when self-hosted)", "example": "password", "type": "string" } } }, "Destination": { "properties": { "connected": { "description": "Shows if the destination is currently connected", "example": "true", "type": "boolean" }, "connection": { "description": "Object that includes the URL and CA for the destination", "properties": { "ca": { "example": "-----BEGIN CERTIFICATE-----\nMIIDNTCCAh2gAwIBAgIRALRetnpcTo9O3V2fAK3ix+c\n-----END CERTIFICATE-----\n", "type": "string" }, "url": { "example": "aa60eexample.us-west-2.elb.amazonaws.com", "type": "string" } }, "required": [ "ca" ], "type": "object" }, "created": { "description": "Time destination was created", "example": "2022-11-10T23:35:22Z", "format": "date-time", "type": "string" }, "id": { "description": "ID of the destination", "example": "7a1b26b33F", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "kind": { "description": "Kind of destination. eg. kubernetes or ssh or postgres", "example": "kubernetes", "type": "string" }, "lastSeen": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "description": "Name of the destination", "example": "production-cluster", "type": "string" }, "resources": { "description": "Destination specific. For Kubernetes, it is the list of namespaces", "example": "['default', 'kube-system']", "items": { "description": "Destination specific. For Kubernetes, it is the list of namespaces", "example": "['default', 'kube-system']", "type": "string" }, "type": "array" }, "roles": { "description": "Destination specific. For Kubernetes, it is the list of cluster roles available on that cluster", "example": "['cluster-admin', 'admin', 'edit', 'view', 'exec', 'logs', 'port-forward']", "items": { "description": "Destination specific. For Kubernetes, it is the list of cluster roles available on that cluster", "example": "['cluster-admin', 'admin', 'edit', 'view', 'exec', 'logs', 'port-forward']", "type": "string" }, "type": "array" }, "uniqueID": { "description": "Unique ID generated by the connector", "example": "94c2c570a20311180ec325fd56", "type": "string" }, "updated": { "description": "Time destination was updated", "example": "2022-12-01T19:48:55Z", "format": "date-time", "type": "string" }, "version": { "description": "Application version of the connector for this destination", "type": "string" } } }, "DeviceFlowResponse": { "properties": { "deviceCode": { "description": "a code that a device will use to exchange for an access key after device login is approved", "example": "NGU4QWFiNjQ5YmQwNG3YTdmZMEyNzQ3YzQ1YSA", "type": "string" }, "expiresIn": { "description": "The number of seconds that this set of values is valid", "example": "1800", "format": "int16", "type": "integer" }, "interval": { "description": "the number of seconds the device should wait between polling to see if the user has finished logging in", "example": "5", "format": "int8", "type": "integer" }, "userCode": { "description": "This is the text the user will enter at the Verification URI", "example": "BDSD-HQMK", "type": "string" }, "verificationURI": { "description": "This is the URL the user needs to enter into their browser to start logging in", "example": "https://infrahq.com/device", "type": "string" } } }, "DeviceFlowStatusResponse": { "properties": { "deviceCode": { "example": "", "type": "string" }, "login": { "properties": { "accessKey": { "type": "string" }, "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "type": "string" }, "organizationName": { "type": "string" }, "passwordUpdateRequired": { "type": "boolean" }, "userID": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, "type": "object" }, "status": { "description": "can be one of pending, expired, confirmed", "type": "string" } } }, "EmptyResponse": {}, "Error": { "properties": { "code": { "format": "int32", "type": "integer" }, "fieldErrors": { "items": { "properties": { "errors": { "items": { "type": "string" }, "type": "array" }, "fieldName": { "type": "string" } }, "type": "object" }, "type": "array" }, "message": { "type": "string" } } }, "Grant": { "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "createdBy": { "description": "id of the user that created the grant", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "group": { "description": "GroupID for a group being granted access", "example": "3zMaadcd2U", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "id": { "description": "ID of grant created", "example": "3w9XyTrkzk", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "privilege": { "description": "a role or permission", "example": "admin", "type": "string" }, "resource": { "description": "a resource name in Infra's Universal Resource Notation", "example": "production.namespace", "type": "string" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "user": { "description": "UserID for a user being granted access", "example": "6hNnjfjVcc", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } }, "Group": { "properties": { "created": { "description": "Date the group was created", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "Group ID", "example": "gauEdoYCEU", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "name": { "description": "Name of the group", "example": "admins", "type": "string" }, "totalUsers": { "description": "Total number of users in the group", "example": "14", "format": "int", "type": "integer" }, "updated": { "description": "Date the group was updated", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } } }, "ListResponse_AccessKey": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "expires": { "description": "key is no longer valid after this time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "ID of the access key", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "inactivityTimeout": { "description": "key must be used by this time to remain valid", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "issuedForID": { "description": "ID of the entity the key was issued to", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "issuedForKind": { "description": "the kind entity the key was issued for (eg: user, organization, or provider)", "example": "user", "type": "string" }, "issuedForName": { "description": "Name of the user the key was issued to", "example": "admin@example.com", "type": "string" }, "lastUsed": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "description": "Name of the access key", "example": "cicdkey", "type": "string" }, "providerID": { "description": "ID of the provider if the user is managed by an OIDC provider", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "scopes": { "description": "additional access level scopes that control what an access key can do", "items": { "description": "additional access level scopes that control what an access key can do", "type": "string" }, "type": "array" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "ListResponse_Destination": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "connected": { "description": "Shows if the destination is currently connected", "example": "true", "type": "boolean" }, "connection": { "description": "Object that includes the URL and CA for the destination", "properties": { "ca": { "example": "-----BEGIN CERTIFICATE-----\nMIIDNTCCAh2gAwIBAgIRALRetnpcTo9O3V2fAK3ix+c\n-----END CERTIFICATE-----\n", "type": "string" }, "url": { "example": "aa60eexample.us-west-2.elb.amazonaws.com", "type": "string" } }, "required": [ "ca" ], "type": "object" }, "created": { "description": "Time destination was created", "example": "2022-11-10T23:35:22Z", "format": "date-time", "type": "string" }, "id": { "description": "ID of the destination", "example": "7a1b26b33F", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "kind": { "description": "Kind of destination. eg. kubernetes or ssh or postgres", "example": "kubernetes", "type": "string" }, "lastSeen": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "description": "Name of the destination", "example": "production-cluster", "type": "string" }, "resources": { "description": "Destination specific. For Kubernetes, it is the list of namespaces", "example": "['default', 'kube-system']", "items": { "description": "Destination specific. For Kubernetes, it is the list of namespaces", "example": "['default', 'kube-system']", "type": "string" }, "type": "array" }, "roles": { "description": "Destination specific. For Kubernetes, it is the list of cluster roles available on that cluster", "example": "['cluster-admin', 'admin', 'edit', 'view', 'exec', 'logs', 'port-forward']", "items": { "description": "Destination specific. For Kubernetes, it is the list of cluster roles available on that cluster", "example": "['cluster-admin', 'admin', 'edit', 'view', 'exec', 'logs', 'port-forward']", "type": "string" }, "type": "array" }, "uniqueID": { "description": "Unique ID generated by the connector", "example": "94c2c570a20311180ec325fd56", "type": "string" }, "updated": { "description": "Time destination was updated", "example": "2022-12-01T19:48:55Z", "format": "date-time", "type": "string" }, "version": { "description": "Application version of the connector for this destination", "type": "string" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "ListResponse_Grant": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "createdBy": { "description": "id of the user that created the grant", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "group": { "description": "GroupID for a group being granted access", "example": "3zMaadcd2U", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "id": { "description": "ID of grant created", "example": "3w9XyTrkzk", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "privilege": { "description": "a role or permission", "example": "admin", "type": "string" }, "resource": { "description": "a resource name in Infra's Universal Resource Notation", "example": "production.namespace", "type": "string" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "user": { "description": "UserID for a user being granted access", "example": "6hNnjfjVcc", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "ListResponse_Group": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "created": { "description": "Date the group was created", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "Group ID", "example": "gauEdoYCEU", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "name": { "description": "Name of the group", "example": "admins", "type": "string" }, "totalUsers": { "description": "Total number of users in the group", "example": "14", "format": "int", "type": "integer" }, "updated": { "description": "Date the group was updated", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "ListResponse_Organization": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "allowedDomains": { "description": "domains which can be used to login to this organization", "example": "['example.com', 'infrahq.com']", "items": { "description": "domains which can be used to login to this organization", "example": "['example.com', 'infrahq.com']", "type": "string" }, "type": "array" }, "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "domain": { "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "name": { "type": "string" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "ListResponse_Provider": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "authURL": { "description": "Authorize endpoint for the OIDC provider", "example": "https://example.com/oauth2/v1/authorize", "type": "string" }, "clientID": { "description": "Client ID for the OIDC provider", "example": "0oapn0qwiQPiMIyR35d6", "type": "string" }, "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "Provider ID", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "kind": { "description": "Kind of provider", "example": "oidc", "type": "string" }, "name": { "description": "Name of the provider", "example": "okta", "type": "string" }, "scopes": { "description": "Scopes set in the OIDC provider configuration", "example": "['openid', 'email']", "items": { "description": "Scopes set in the OIDC provider configuration", "example": "['openid', 'email']", "type": "string" }, "type": "array" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "url": { "description": "URL of the Infra Server", "example": "infrahq.okta.com", "type": "string" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "ListResponse_User": { "properties": { "count": { "description": "Total number of items on the current page", "example": "100", "format": "int", "type": "integer" }, "items": { "items": { "properties": { "created": { "description": "Date the user was created", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "User ID", "example": "4ACFkc434M", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "lastSeenAt": { "description": "Date the user was last seen", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "description": "Name of the user", "example": "bob@example.com", "type": "string" }, "providerNames": { "description": "List of providers this user belongs to", "example": "['okta']", "items": { "description": "List of providers this user belongs to", "example": "['okta']", "type": "string" }, "type": "array" }, "publicKeys": { "description": "List of the users public keys", "items": { "description": "List of the users public keys", "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "fingerprint": { "description": "SHA256 fingerprint of the key", "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "keyType": { "type": "string" }, "name": { "type": "string" }, "publicKey": { "type": "string" } }, "type": "object" }, "type": "array" }, "sshLoginName": { "description": "Username for SSH destinations", "example": "bob", "type": "string" }, "updated": { "description": "Date the user was updated", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } }, "type": "object" }, "type": "array" }, "limit": { "description": "Number of objects per page", "example": "100", "format": "int", "type": "integer" }, "page": { "description": "Page number retrieved", "example": "1", "format": "int", "type": "integer" }, "totalCount": { "description": "Total number of objects", "example": "485", "format": "int", "type": "integer" }, "totalPages": { "description": "Total number of pages", "example": "5", "format": "int", "type": "integer" } } }, "LoginResponse": { "properties": { "accessKey": { "type": "string" }, "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "type": "string" }, "organizationName": { "type": "string" }, "passwordUpdateRequired": { "type": "boolean" }, "userID": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } }, "Organization": { "properties": { "allowedDomains": { "description": "domains which can be used to login to this organization", "example": "['example.com', 'infrahq.com']", "items": { "description": "domains which can be used to login to this organization", "example": "['example.com', 'infrahq.com']", "type": "string" }, "type": "array" }, "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "domain": { "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "name": { "type": "string" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } } }, "Provider": { "properties": { "authURL": { "description": "Authorize endpoint for the OIDC provider", "example": "https://example.com/oauth2/v1/authorize", "type": "string" }, "clientID": { "description": "Client ID for the OIDC provider", "example": "0oapn0qwiQPiMIyR35d6", "type": "string" }, "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "Provider ID", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "kind": { "description": "Kind of provider", "example": "oidc", "type": "string" }, "name": { "description": "Name of the provider", "example": "okta", "type": "string" }, "scopes": { "description": "Scopes set in the OIDC provider configuration", "example": "['openid', 'email']", "items": { "description": "Scopes set in the OIDC provider configuration", "example": "['openid', 'email']", "type": "string" }, "type": "array" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "url": { "description": "URL of the Infra Server", "example": "infrahq.okta.com", "type": "string" } } }, "ServerConfiguration": { "properties": { "baseDomain": { "type": "string" }, "google": { "properties": { "authURL": { "description": "Authorize endpoint for the OIDC provider", "example": "https://example.com/oauth2/v1/authorize", "type": "string" }, "clientID": { "description": "Client ID for the OIDC provider", "example": "0oapn0qwiQPiMIyR35d6", "type": "string" }, "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "Provider ID", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "kind": { "description": "Kind of provider", "example": "oidc", "type": "string" }, "name": { "description": "Name of the provider", "example": "okta", "type": "string" }, "scopes": { "description": "Scopes set in the OIDC provider configuration", "example": "['openid', 'email']", "items": { "description": "Scopes set in the OIDC provider configuration", "example": "['openid', 'email']", "type": "string" }, "type": "array" }, "updated": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "url": { "description": "URL of the Infra Server", "example": "infrahq.okta.com", "type": "string" } }, "type": "object" }, "isEmailConfigured": { "type": "boolean" }, "isSignupEnabled": { "type": "boolean" }, "loginDomain": { "type": "string" } } }, "UpdateUserResponse": { "properties": { "created": { "description": "Date the user was created", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "User ID", "example": "4ACFkc434M", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "lastSeenAt": { "description": "Date the user was last seen", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "description": "Name of the user", "example": "bob@example.com", "type": "string" }, "oneTimePassword": { "type": "string" }, "providerNames": { "description": "List of providers this user belongs to", "example": "['okta']", "items": { "description": "List of providers this user belongs to", "example": "['okta']", "type": "string" }, "type": "array" }, "publicKeys": { "description": "List of the users public keys", "items": { "description": "List of the users public keys", "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "fingerprint": { "description": "SHA256 fingerprint of the key", "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "keyType": { "type": "string" }, "name": { "type": "string" }, "publicKey": { "type": "string" } }, "type": "object" }, "type": "array" }, "sshLoginName": { "description": "Username for SSH destinations", "example": "bob", "type": "string" }, "updated": { "description": "Date the user was updated", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } } }, "User": { "properties": { "created": { "description": "Date the user was created", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "id": { "description": "User ID", "example": "4ACFkc434M", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "lastSeenAt": { "description": "Date the user was last seen", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "name": { "description": "Name of the user", "example": "bob@example.com", "type": "string" }, "providerNames": { "description": "List of providers this user belongs to", "example": "['okta']", "items": { "description": "List of providers this user belongs to", "example": "['okta']", "type": "string" }, "type": "array" }, "publicKeys": { "description": "List of the users public keys", "items": { "description": "List of the users public keys", "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "fingerprint": { "description": "SHA256 fingerprint of the key", "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "keyType": { "type": "string" }, "name": { "type": "string" }, "publicKey": { "type": "string" } }, "type": "object" }, "type": "array" }, "sshLoginName": { "description": "Username for SSH destinations", "example": "bob", "type": "string" }, "updated": { "description": "Date the user was updated", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" } } }, "UserPublicKey": { "properties": { "created": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "expires": { "description": "formatted as an RFC3339 date-time", "example": "2022-03-14T09:48:00Z", "format": "date-time", "type": "string" }, "fingerprint": { "description": "SHA256 fingerprint of the key", "type": "string" }, "id": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "keyType": { "type": "string" }, "name": { "type": "string" }, "publicKey": { "type": "string" } } }, "Version": { "properties": { "version": { "type": "string" } } } } }, "info": { "description": "Infra API", "license": { "name": "Elastic License v2.0", "url": "https://www.elastic.co/licensing/elastic-license" }, "title": "Infra API", "version": "0.0.0" }, "paths": { "/api/access-keys": { "delete": { "description": "DeleteAccessKeys", "operationId": "DeleteAccessKeys", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "Name of the access key to delete", "example": "cicdkey", "in": "query", "name": "name", "schema": { "description": "Name of the access key to delete", "example": "cicdkey", "format": "[a-zA-Z0-9\\-_.]", "maxLength": 256, "minLength": 2, "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteAccessKeys", "tags": [ "Authentication" ] }, "get": { "description": "ListAccessKeys", "operationId": "ListAccessKeys", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "UserID of the user whose access keys you want to list", "in": "query", "name": "userID", "schema": { "description": "UserID of the user whose access keys you want to list", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, { "description": "Name of the user", "example": "john@example.com", "in": "query", "name": "name", "schema": { "description": "Name of the user", "example": "john@example.com", "type": "string" } }, { "description": "Whether to show expired access keys. Defaults to false", "example": "true", "in": "query", "name": "showExpired", "schema": { "description": "Whether to show expired access keys. Defaults to false", "example": "true", "type": "boolean" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_AccessKey" } } }, "description": "Success" } }, "summary": "ListAccessKeys", "tags": [ "Authentication" ] }, "post": { "description": "CreateAccessKey", "operationId": "CreateAccessKey", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "expiry": { "description": "maximum time valid", "example": "72h3m6.5s", "format": "duration", "type": "string" }, "inactivityTimeout": { "description": "key must be used within this duration to remain valid", "example": "72h3m6.5s", "format": "duration", "type": "string" }, "issuedForID": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "issuedForKind": { "enum": [ "user", "provider", "organization" ], "type": "string" }, "name": { "format": "[a-zA-Z0-9\\-_.]", "maxLength": 256, "minLength": 2, "type": "string" } }, "required": [ "issuedForID", "issuedForKind", "expiry", "inactivityTimeout" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAccessKeyResponse" } } }, "description": "Success" } }, "summary": "CreateAccessKey", "tags": [ "Authentication" ] } }, "/api/access-keys/{id}": { "delete": { "description": "DeleteAccessKey", "operationId": "DeleteAccessKey", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteAccessKey", "tags": [ "Authentication" ] } }, "/api/destinations": { "get": { "description": "ListDestinations", "operationId": "ListDestinations", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "Name of the destination", "example": "production-cluster", "in": "query", "name": "name", "schema": { "description": "Name of the destination", "example": "production-cluster", "type": "string" } }, { "description": "Kind of destination. eg. kubernetes or ssh or postgres", "example": "kubernetes", "in": "query", "name": "kind", "schema": { "description": "Kind of destination. eg. kubernetes or ssh or postgres", "example": "kubernetes", "type": "string" } }, { "description": "Unique ID generated by the connector", "example": "94c2c570a20311180ec325fd56", "in": "query", "name": "unique_id", "schema": { "description": "Unique ID generated by the connector", "example": "94c2c570a20311180ec325fd56", "type": "string" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_Destination" } } }, "description": "Success" } }, "summary": "ListDestinations", "tags": [ "Destinations" ] }, "post": { "description": "CreateDestination", "operationId": "CreateDestination", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "connection": { "description": "Object that includes the URL and CA for the destination", "properties": { "ca": { "example": "-----BEGIN CERTIFICATE-----\nMIIDNTCCAh2gAwIBAgIRALRetnpcTo9O3V2fAK3ix+c\n-----END CERTIFICATE-----\n", "type": "string" }, "url": { "example": "aa60eexample.us-west-2.elb.amazonaws.com", "type": "string" } }, "required": [ "ca" ], "type": "object" }, "kind": { "description": "Kind of destination. eg. kubernetes or ssh or postgres", "enum": [ "kubernetes", "ssh", "" ], "example": "kubernetes", "type": "string" }, "name": { "description": "Name of the destination", "example": "production-cluster", "format": "[a-zA-Z0-9\\-_]", "maxLength": 256, "minLength": 2, "type": "string" }, "resources": { "items": { "type": "string" }, "type": "array" }, "roles": { "items": { "type": "string" }, "type": "array" }, "uniqueID": { "description": "Unique ID used to identify this specific destination", "example": "94c2c570a20311180ec325fd56", "type": "string" }, "version": { "description": "Application version of the connector for this destination", "type": "string" } }, "required": [ "name" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Destination" } } }, "description": "Success" } }, "summary": "CreateDestination", "tags": [ "Destinations" ] } }, "/api/destinations/{id}": { "delete": { "description": "DeleteDestination", "operationId": "DeleteDestination", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteDestination", "tags": [ "Destinations" ] }, "get": { "description": "GetDestination", "operationId": "GetDestination", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Destination" } } }, "description": "Success" } }, "summary": "GetDestination", "tags": [ "Destinations" ] }, "put": { "description": "UpdateDestination", "operationId": "UpdateDestination", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "ID of the destination", "example": "7a1b26b33F", "in": "path", "name": "id", "required": true, "schema": { "description": "ID of the destination", "example": "7a1b26b33F", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "connection": { "description": "Object that includes the URL and CA for the destination", "properties": { "ca": { "example": "-----BEGIN CERTIFICATE-----\nMIIDNTCCAh2gAwIBAgIRALRetnpcTo9O3V2fAK3ix+c\n-----END CERTIFICATE-----\n", "type": "string" }, "url": { "example": "aa60eexample.us-west-2.elb.amazonaws.com", "type": "string" } }, "required": [ "ca" ], "type": "object" }, "name": { "description": "Name of the destination", "example": "production-cluster", "format": "[a-zA-Z0-9\\-_]", "maxLength": 256, "minLength": 2, "type": "string" }, "resources": { "items": { "type": "string" }, "type": "array" }, "roles": { "items": { "type": "string" }, "type": "array" }, "uniqueID": { "description": "Unique ID generated by the connector", "example": "94c2c570a20311180ec325fd56", "type": "string" }, "version": { "description": "Application version of the connector for this destination", "type": "string" } }, "required": [ "name" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Destination" } } }, "description": "Success" } }, "summary": "UpdateDestination", "tags": [ "Destinations" ] } }, "/api/device": { "post": { "description": "StartDeviceFlow", "operationId": "StartDeviceFlow", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceFlowResponse" } } }, "description": "Success" } }, "summary": "StartDeviceFlow", "tags": [ "Authentication" ] } }, "/api/device/approve": { "post": { "description": "ApproveDeviceFlow", "operationId": "ApproveDeviceFlow", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "userCode": { "example": "BDSD-HQMK", "format": "[B-DF-HJ-NP-TV-XZ\\-]", "maxLength": 9, "minLength": 8, "type": "string" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "ApproveDeviceFlow", "tags": [ "Authentication" ] } }, "/api/device/status": { "post": { "description": "GetDeviceFlowStatus", "operationId": "GetDeviceFlowStatus", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "deviceCode": { "format": "[a-zA-Z0-9]", "maxLength": 38, "minLength": 38, "type": "string" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeviceFlowStatusResponse" } } }, "description": "Success" } }, "summary": "GetDeviceFlowStatus", "tags": [ "Authentication" ] } }, "/api/forgot-domain-request": { "post": { "description": "RequestForgotDomains", "operationId": "RequestForgotDomains", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "email": { "format": "email", "type": "string" } }, "required": [ "email" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "RequestForgotDomains", "tags": [ "Organizations" ] } }, "/api/grants": { "get": { "description": "ListGrants", "operationId": "ListGrants", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "ID of user granted access", "example": "6TjWTAgYYu", "in": "query", "name": "user", "schema": { "description": "ID of user granted access", "example": "6TjWTAgYYu", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, { "description": "ID of group granted access", "example": "6k3Eqcqu6B", "in": "query", "name": "group", "schema": { "description": "ID of group granted access", "example": "6k3Eqcqu6B", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, { "description": "a resource name", "example": "production.namespace", "in": "query", "name": "resource", "schema": { "description": "a resource name", "example": "production.namespace", "type": "string" } }, { "description": "name of the destination where a connector is installed", "example": "production", "in": "query", "name": "destination", "schema": { "description": "name of the destination where a connector is installed", "example": "production", "format": "[a-zA-Z0-9\\-_]", "maxLength": 256, "minLength": 2, "type": "string" } }, { "description": "a role or permission", "example": "view", "in": "query", "name": "privilege", "schema": { "description": "a role or permission", "example": "view", "type": "string" } }, { "description": "if true, this field includes grants that the user inherits through groups", "example": "true", "in": "query", "name": "showInherited", "schema": { "description": "if true, this field includes grants that the user inherits through groups", "example": "true", "type": "boolean" } }, { "description": "if true, this shows the connector and other internal grants", "example": "false", "in": "query", "name": "showSystem", "schema": { "description": "if true, this shows the connector and other internal grants", "example": "false", "type": "boolean" } }, { "description": "set this to the value of the Last-Update-Index response header to block until the list results have changed", "in": "query", "name": "lastUpdateIndex", "schema": { "description": "set this to the value of the Last-Update-Index response header to block until the list results have changed", "format": "int64", "type": "integer" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_Grant" } } }, "description": "Success" } }, "summary": "ListGrants", "tags": [ "Grants" ] }, "patch": { "description": "UpdateGrants", "operationId": "UpdateGrants", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "grantsToAdd": { "description": "List of grant objects. See POST api/grants for more", "items": { "description": "List of grant objects. See POST api/grants for more", "oneOf": [ { "required": [ "user" ] }, { "required": [ "userName" ] }, { "required": [ "group" ] }, { "required": [ "groupName" ] } ], "properties": { "group": { "description": "ID of the group granted access", "example": "6Ti2p7r1h7", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "groupName": { "description": "Name of the group granted access", "example": "dev", "type": "string" }, "privilege": { "description": "a role or permission", "example": "view", "type": "string" }, "resource": { "description": "a resource name in Infra's Universal Resource Notation", "example": "production", "type": "string" }, "user": { "description": "ID of the user granted access", "example": "6kdoMDd6PA", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "userName": { "description": "Name of the user granted access", "example": "admin@example.com", "type": "string" } }, "required": [ "privilege", "resource" ], "type": "object" }, "type": "array" }, "grantsToRemove": { "description": "List of grant objects. See POST api/grants for more", "items": { "description": "List of grant objects. See POST api/grants for more", "oneOf": [ { "required": [ "user" ] }, { "required": [ "userName" ] }, { "required": [ "group" ] }, { "required": [ "groupName" ] } ], "properties": { "group": { "description": "ID of the group granted access", "example": "6Ti2p7r1h7", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "groupName": { "description": "Name of the group granted access", "example": "dev", "type": "string" }, "privilege": { "description": "a role or permission", "example": "view", "type": "string" }, "resource": { "description": "a resource name in Infra's Universal Resource Notation", "example": "production", "type": "string" }, "user": { "description": "ID of the user granted access", "example": "6kdoMDd6PA", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "userName": { "description": "Name of the user granted access", "example": "admin@example.com", "type": "string" } }, "required": [ "privilege", "resource" ], "type": "object" }, "type": "array" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "UpdateGrants", "tags": [ "Grants" ] }, "post": { "description": "CreateGrant", "operationId": "CreateGrant", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "required": [ "user" ] }, { "required": [ "userName" ] }, { "required": [ "group" ] }, { "required": [ "groupName" ] } ], "properties": { "group": { "description": "ID of the group granted access", "example": "6Ti2p7r1h7", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "groupName": { "description": "Name of the group granted access", "example": "dev", "type": "string" }, "privilege": { "description": "a role or permission", "example": "view", "type": "string" }, "resource": { "description": "a resource name in Infra's Universal Resource Notation", "example": "production", "type": "string" }, "user": { "description": "ID of the user granted access", "example": "6kdoMDd6PA", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "userName": { "description": "Name of the user granted access", "example": "admin@example.com", "type": "string" } }, "required": [ "privilege", "resource" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateGrantResponse" } } }, "description": "Success" } }, "summary": "CreateGrant", "tags": [ "Grants" ] } }, "/api/grants/{id}": { "delete": { "description": "DeleteGrant", "operationId": "DeleteGrant", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteGrant", "tags": [ "Grants" ] }, "get": { "description": "GetGrant", "operationId": "GetGrant", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Grant" } } }, "description": "Success" } }, "summary": "GetGrant", "tags": [ "Grants" ] } }, "/api/groups": { "get": { "description": "ListGroups", "operationId": "ListGroups", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "Name of the group to retrieve", "example": "admins", "in": "query", "name": "name", "schema": { "description": "Name of the group to retrieve", "example": "admins", "type": "string" } }, { "description": "UserID of a user who is a member of the group", "in": "query", "name": "userID", "schema": { "description": "UserID of a user who is a member of the group", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_Group" } } }, "description": "Success" } }, "summary": "ListGroups", "tags": [ "Groups" ] }, "post": { "description": "CreateGroup", "operationId": "CreateGroup", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "name": { "description": "Name of the group", "example": "development", "type": "string" } }, "required": [ "name" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Group" } } }, "description": "Success" } }, "summary": "CreateGroup", "tags": [ "Groups" ] } }, "/api/groups/{id}": { "delete": { "description": "DeleteGroup", "operationId": "DeleteGroup", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteGroup", "tags": [ "Groups" ] }, "get": { "description": "GetGroup", "operationId": "GetGroup", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Group" } } }, "description": "Success" } }, "summary": "GetGroup", "tags": [ "Groups" ] } }, "/api/groups/{id}/users": { "patch": { "description": "UpdateUsersInGroup", "operationId": "UpdateUsersInGroup", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "usersToAdd": { "description": "List of user IDs to add to the group", "example": "[6dYiUyYgKa,6hPY5vqB2R]", "items": { "description": "List of user IDs to add to the group", "example": "[6dYiUyYgKa,6hPY5vqB2R]", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "type": "array" }, "usersToRemove": { "description": "List of user IDs to remove from the group", "example": "[3w5qrK7ets,4Ajzyzckdn]", "items": { "description": "List of user IDs to remove from the group", "example": "[3w5qrK7ets,4Ajzyzckdn]", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "type": "array" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "UpdateUsersInGroup", "tags": [ "Groups", "Users" ] } }, "/api/login": { "post": { "description": "Login", "operationId": "Login", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "oneOf": [ { "required": [ "accessKey" ] }, { "required": [ "passwordCredentials" ] }, { "required": [ "oidc" ] } ], "properties": { "accessKey": { "type": "string" }, "oidc": { "properties": { "code": { "type": "string" }, "providerID": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "redirectURL": { "type": "string" } }, "required": [ "redirectURL", "code" ], "type": "object" }, "passwordCredentials": { "properties": { "name": { "type": "string" }, "password": { "type": "string" } }, "required": [ "name", "password" ], "type": "object" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponse" } } }, "description": "Success" } }, "summary": "Login", "tags": [ "Authentication" ] } }, "/api/logout": { "post": { "description": "Logout", "operationId": "Logout", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "Logout", "tags": [ "Authentication" ] } }, "/api/organizations": { "get": { "description": "ListOrganizations", "operationId": "ListOrganizations", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "query", "name": "name", "schema": { "type": "string" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_Organization" } } }, "description": "Success" } }, "summary": "ListOrganizations", "tags": [ "Organizations" ] }, "post": { "description": "CreateOrganization", "operationId": "CreateOrganization", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "domain": { "type": "string" }, "name": { "format": "[a-zA-Z0-9\\-_.]", "maxLength": 256, "minLength": 2, "type": "string" } }, "required": [ "name", "domain" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "Success" } }, "summary": "CreateOrganization", "tags": [ "Organizations" ] } }, "/api/organizations/{id}": { "delete": { "description": "DeleteOrganization", "operationId": "DeleteOrganization", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteOrganization", "tags": [ "Organizations" ] }, "get": { "description": "GetOrganization", "operationId": "GetOrganization", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "description": "a uid or the literal self", "example": "4yJ3n3D8E2", "format": "uid|self", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}|self", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "Success" } }, "summary": "GetOrganization", "tags": [ "Organizations" ] }, "put": { "description": "UpdateOrganization", "operationId": "UpdateOrganization", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "allowedDomains": { "items": { "type": "string" }, "type": "array" } }, "required": [ "allowedDomains" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Organization" } } }, "description": "Success" } }, "summary": "UpdateOrganization", "tags": [ "Organizations" ] } }, "/api/password-reset": { "post": { "description": "VerifiedPasswordReset", "operationId": "VerifiedPasswordReset", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "password": { "type": "string" }, "token": { "format": "[a-zA-Z0-9]", "maxLength": 10, "minLength": 10, "type": "string" } }, "required": [ "token", "password" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponse" } } }, "description": "Success" } }, "summary": "VerifiedPasswordReset", "tags": [ "Authentication" ] } }, "/api/password-reset-request": { "post": { "description": "RequestPasswordReset", "operationId": "RequestPasswordReset", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "email": { "format": "email", "type": "string" } }, "required": [ "email" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "RequestPasswordReset", "tags": [ "Authentication" ] } }, "/api/providers": { "get": { "description": "ListProviders", "operationId": "ListProviders", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "description": "Name of the provider", "example": "okta", "in": "query", "name": "name", "schema": { "description": "Name of the provider", "example": "okta", "type": "string" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_Provider" } } }, "description": "Success" } }, "summary": "ListProviders", "tags": [ "Providers" ] }, "post": { "description": "CreateProvider", "operationId": "CreateProvider", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "api": { "properties": { "clientEmail": { "format": "email", "type": "string" }, "domainAdminEmail": { "format": "email", "type": "string" }, "privateKey": { "example": "-----BEGIN PRIVATE KEY-----\nMIIDNTCCAh2gAwIBAgIRALRetnpcTo9O3V2fAK3ix+c\n-----END PRIVATE KEY-----\n", "type": "string" } }, "type": "object" }, "clientID": { "example": "0oapn0qwiQPiMIyR35d6", "type": "string" }, "clientSecret": { "example": "jmda5eG93ax3jMDxTGrbHd_TBGT6kgNZtrCugLbU", "type": "string" }, "kind": { "enum": [ "oidc", "okta", "azure", "google" ], "example": "oidc", "type": "string" }, "name": { "example": "okta", "format": "[a-zA-Z0-9\\-_.]", "maxLength": 256, "minLength": 2, "type": "string" }, "url": { "example": "infrahq.okta.com", "type": "string" } }, "required": [ "url", "clientID", "clientSecret" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Provider" } } }, "description": "Success" } }, "summary": "CreateProvider", "tags": [ "Providers" ] } }, "/api/providers/{id}": { "delete": { "description": "DeleteProvider", "operationId": "DeleteProvider", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteProvider", "tags": [ "Providers" ] }, "get": { "description": "GetProvider", "operationId": "GetProvider", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Provider" } } }, "description": "Success" } }, "summary": "GetProvider", "tags": [ "Providers" ] }, "patch": { "description": "PatchProvider", "operationId": "PatchProvider", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "clientSecret": { "example": "jmda5eG93ax3jMDxTGrbHd_TBGT6kgNZtrCugLbU", "type": "string" }, "name": { "example": "okta", "type": "string" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Provider" } } }, "description": "Success" } }, "summary": "PatchProvider", "tags": [ "Providers" ] }, "put": { "description": "UpdateProvider", "operationId": "UpdateProvider", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "api": { "properties": { "clientEmail": { "format": "email", "type": "string" }, "domainAdminEmail": { "format": "email", "type": "string" }, "privateKey": { "example": "-----BEGIN PRIVATE KEY-----\nMIIDNTCCAh2gAwIBAgIRALRetnpcTo9O3V2fAK3ix+c\n-----END PRIVATE KEY-----\n", "type": "string" } }, "type": "object" }, "clientID": { "example": "0oapn0qwiQPiMIyR35d6", "type": "string" }, "clientSecret": { "example": "jmda5eG93ax3jMDxTGrbHd_TBGT6kgNZtrCugLbU", "type": "string" }, "kind": { "enum": [ "oidc", "okta", "azure", "google" ], "example": "oidc", "type": "string" }, "name": { "example": "okta", "format": "[a-zA-Z0-9\\-_.]", "maxLength": 256, "minLength": 2, "type": "string" }, "url": { "example": "infrahq.okta.com", "type": "string" } }, "required": [ "name", "url", "clientID", "clientSecret" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Provider" } } }, "description": "Success" } }, "summary": "UpdateProvider", "tags": [ "Providers" ] } }, "/api/server-configuration": { "get": { "description": "GetServerConfiguration", "operationId": "GetServerConfiguration", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerConfiguration" } } }, "description": "Success" } }, "summary": "GetServerConfiguration", "tags": [ "Settings" ] } }, "/api/tokens": { "post": { "description": "CreateToken", "operationId": "CreateToken", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTokenResponse" } } }, "description": "Success" } }, "summary": "CreateToken", "tags": [ "Destinations" ] } }, "/api/users": { "get": { "description": "ListUsers", "operationId": "ListUsers", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "description": "Name of the user", "example": "bob@example.com", "in": "query", "name": "name", "schema": { "description": "Name of the user", "example": "bob@example.com", "type": "string" } }, { "description": "Group the user belongs to", "example": "admins", "in": "query", "name": "group", "schema": { "description": "Group the user belongs to", "example": "admins", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } }, { "description": "List of User IDs", "in": "query", "name": "ids", "schema": { "description": "List of User IDs", "items": { "description": "List of User IDs", "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" }, "type": "array" } }, { "description": "if true, this shows the connector and other internal users", "example": "false", "in": "query", "name": "showSystem", "schema": { "description": "if true, this shows the connector and other internal users", "example": "false", "type": "boolean" } }, { "description": "Find the user with a public key that matches this SHA256 fingerprint.", "in": "query", "name": "publicKeyFingerprint", "schema": { "description": "Find the user with a public key that matches this SHA256 fingerprint.", "type": "string" } }, { "description": "Page number to retrieve", "example": "1", "in": "query", "name": "page", "schema": { "description": "Page number to retrieve", "example": "1", "format": "int", "minimum": 0, "type": "integer" } }, { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "in": "query", "name": "limit", "schema": { "description": "Number of objects to retrieve per page (up to 1000)", "example": "100", "format": "int", "maximum": 1000, "minimum": 0, "type": "integer" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListResponse_User" } } }, "description": "Success" } }, "summary": "ListUsers", "tags": [ "Users" ] }, "post": { "description": "CreateUser", "operationId": "CreateUser", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "name": { "description": "Email address of the new user", "example": "bob@example.com", "format": "email", "type": "string" } }, "required": [ "name" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserResponse" } } }, "description": "Success" } }, "summary": "CreateUser", "tags": [ "Users" ] } }, "/api/users/public-key": { "put": { "description": "AddUserPublicKey", "operationId": "AddUserPublicKey", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "name": { "description": "Name of the public key, often the name of the device used to create it", "format": "[a-zA-Z0-9\\-_.]", "maxLength": 256, "minLength": 2, "type": "string" }, "publicKey": { "type": "string" } }, "required": [ "publicKey" ], "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublicKey" } } }, "description": "Success" } }, "summary": "AddUserPublicKey", "tags": [ "Users" ] } }, "/api/users/{id}": { "delete": { "description": "DeleteUser", "operationId": "DeleteUser", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmptyResponse" } } }, "description": "Success" } }, "summary": "DeleteUser", "tags": [ "Users" ] }, "get": { "description": "GetUser", "operationId": "GetUser", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "description": "a uid or the literal self", "example": "4yJ3n3D8E2", "format": "uid|self", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}|self", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "description": "Success" } }, "summary": "GetUser", "tags": [ "Users" ] }, "put": { "description": "UpdateUser", "operationId": "UpdateUser", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } }, { "in": "header", "name": "Authorization", "required": true, "schema": { "description": "Bearer followed by your access key", "example": "Bearer ACCESSKEY", "format": "Bearer [\\da-zA-Z]{10}\\.[\\da-zA-Z]{24}", "type": "string" } }, { "in": "path", "name": "id", "required": true, "schema": { "example": "4yJ3n3D8E2", "format": "uid", "pattern": "[1-9a-km-zA-HJ-NP-Z]{1,11}", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "oldPassword": { "description": "Old password for the user. Only required when the access key making this request is not owned by an Infra admin", "example": "oldpassword", "type": "string" }, "password": { "description": "New one-time password for the user", "example": "newpassword", "type": "string" } }, "type": "object" } } } }, "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUserResponse" } } }, "description": "Success" } }, "summary": "UpdateUser", "tags": [ "Users" ] } }, "/api/version": { "get": { "description": "Version", "operationId": "Version", "parameters": [ { "in": "header", "name": "Infra-Version", "required": true, "schema": { "description": "Version of the API being requested", "example": "0.0.0", "format": "\\d+\\.\\d+\\(.\\d+)?(-.\\w(+\\w)?)?", "type": "string" } } ], "responses": { "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Bad Request" }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Unauthorized: Requestor is not authenticated" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Forbidden: Requestor does not have the right permissions" }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Not Found" }, "409": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } }, "description": "Duplicate Record" }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Version" } } }, "description": "Success" } }, "summary": "Version", "tags": [ "Settings" ] } } }, "servers": [ { "url": "https://api.infrahq.com" } ] }