{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"paths":{"/v1/{organization}/organization/":{"get":{"tags":["Organization"],"summary":"Get an organization","description":"Get the details of an organization.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* The `default_user_preferences` field is only populated if the endpoint is called with user authentication credentials, and the authenticated user has the\n`Organization:GetOrganizationDetails` permission.","operationId":"get-organization","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_organization__Response"}}}},"404":{"description":"The specified organization does not exist."},"422":{"description":"Invalid request path parameter failed validation."},"503":{"description":"The service is going through temporary maintenance."}},"security":[]},"put":{"tags":["Organization"],"summary":"Create an organization","description":"Set up a new organization in the Amigo system. Specifically, it\n* creates a new organization within the Amigo Mongo database with the given details.\n    * Along with the new organization, 4 default roles are created:\n        * `DefaultUserRole`.\n        * `DefaultAdministratorRole`.\n        * `DefaultAmigoAdministratorRole`.\n        * `DefaultSuperAdministratorRole`.\n    * A super user, `admin@amigo.ai`, is created and granted the `DefaultSuperAdministratorRole`.\n* creates a new tenant in Google Identity Platform for users in this organization.\n* creates a new Route53 record, `{org_id}.amigo.ai`, that hosts the Amigo frontend for this organization.\n* creates a new domain, `{org_id}.amigo.ai`, on Vercel.\n\nThe `x-mongo-cluster-name` header is mandatory for this endpoint.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:CreateOrganization`. for the organization to create.","operationId":"create-organization","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":true,"schema":{"type":"string","description":"The Mongo cluster name to perform this request in.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_organization__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_organization__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"Conflicts with existing organization with the same `org_id`, or a related operation is in progress."},"400":{"description":"The specified organization ID is reserved."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}},"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[]}]},"post":{"tags":["Organization"],"summary":"Modify an organization","description":"Modify elements of an organization.\n\n#### Permissions\nThis endpoint requries the following permissions:\n* `Organization:ModifyOrganization` to modify the organization.","operationId":"modify-organization","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__modify_organization__Request"}}}},"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."}}},"delete":{"tags":["Organization"],"summary":"Delete an organization","description":"Delete an organization. All of the organization's data are erased. Some analytical data will be asynchronously removed at\na future date.\n\nUnlike other endpoints, this endpoint is not transactional. If any operation fails during the execution, the endpoint does not\nrevert the performed actions. The caller should re-call this endpoint until it succeeds.\n\nRegardless of whether this endpoint succeeds or not, the first time this endpoint is called, the organization is considered\ndeleted. Even if the endpoint fails and the organization isn't completely wiped, it's considered in an invalid state and any\nother operations on it may fail.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:DeleteOrganization` for the organization to delete.","operationId":"delete-organization","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"Specified organization is not found."},"401":{"description":"Invalid authorization credentials."},"400":{"description":"The current environment or organization does not support this endpoint."},"409":{"description":"A related operation is in progress."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/agent":{"post":{"tags":["Organization"],"summary":"Create an agent","description":"Create a new agent for the given organization. No default version for the agent will be created, so one must\nlater to create a version for this agent so it can be used in a service.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:CreateAgent` for the new agent.","operationId":"create-agent","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_agent__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_agent__Response"}}}},"404":{"description":"The specified organization does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"An `Agent` with the same name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}},"get":{"tags":["Organization"],"summary":"Get agents for an organization","description":"Return a list of agents for the organization.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only agents that the authenticated user has the `Organization:GetAgent` permission on will be returned.","operationId":"get-agents","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"deprecated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the agent is deprecated.","title":"Deprecated"},"description":"Whether the agent is deprecated."},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the agents to filter for.","default":[],"title":"Id"},"description":"The IDs of the agents to filter for."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"exclusiveMinimum":0,"description":"The maximum number of agents to return.","default":10,"title":"Limit"},"description":"The maximum number of agents to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of agents.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of agents."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_agents__Response"}}}},"404":{"description":"The specified organization does not exist."},"422":{"description":"Invalid request path parameter or query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/agent/{agent_id}/":{"post":{"tags":["Organization"],"summary":"Create an agent version","description":"Create a new version of the given agent. If there's no existing versions, all fields in the request must be filled and they will be used to\ncreate the initial version of the agent. Otherwise, only fill the fields that need to be updated, and the new version will retain other fields\nfrom the previous latest version.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:CreateAgentVersion` for the new version of the agent.","operationId":"create-agent-version","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the agent to create a new version for.","title":"Agent Id"},"description":"The ID of the agent to create a new version for."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"The version number of the new agent version. If specified, this endpoint throws an error if the next version of the agent in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new agent version. If specified, this endpoint throws an error if the next version of the agent in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_agent_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_agent_version__Response"}}}},"404":{"description":"The specified organization or agent does not exist."},"422":{"description":"Invalid request path parameter, request body, or request query parameter failed validation."},"409":{"description":"The specified version is not the expected next version for the agent."},"400":{"description":"Attempt to create the initial version for an agent, but not all fields in the request object are defined. Or, the specified voice ID doesn't exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}},"delete":{"tags":["Organization"],"summary":"Delete an agent","description":"Delete the specified agent from the organization. In practice, this endpoint marks the agent as deprecated, but will not delete\nthis agent nor any of its versions. It does prevent new services (or inactive services to be activated) from using this agent.\n\nAn error will be raised if this endpoint is called when an active service still utilizes this agent. However, any ongoing conversation using this agent\nwill continue to work.\n\n#### Permissions:\n* `Organization:DeleteAgent` for the agent to delete.","operationId":"delete-agent","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the agent to delete","title":"Agent Id"},"description":"The ID of the agent to delete"},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"404":{"description":"The specified organization or agent does not exist."},"400":{"description":"An active service exists that utilizes this agent."},"409":{"description":"The specified agent is already deleted"},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/service_hierarchical_state_machine":{"post":{"tags":["Organization"],"summary":"Create a service hierarchical state machine","description":"Create a new state machine for the given organization. No default version for the state machine will be created, so one must later create a version for this state machine so it can be used\nin a service.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:CreateServiceHierarchicalStateMachine` for the new service hierarchical state machine.","operationId":"create-service-hierarchical-state-machine","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine__Response"}}}},"404":{"description":"The specified organization does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A state machine with the same name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}},"get":{"tags":["Organization"],"summary":"Get service hierarchical state machines for an organization","description":"Return a list of service hierarchical state machines for the organization.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only state machines that the authenticated user has the `Organization:GetServiceHierarchicalStateMachine` permission on will be returned.","operationId":"get-service-hierarchical-state-machines","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"deprecated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the state machine is deprecated.","title":"Deprecated"},"description":"Whether the state machine is deprecated."},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the state machines to filter for.","default":[],"title":"Id"},"description":"The IDs of the state machines to filter for."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of service hierarchical state machines to return.","default":50,"title":"Limit"},"description":"The maximum number of service hierarchical state machines to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of state machines.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of state machines."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_service_hierarchical_state_machines__Response"}}}},"404":{"description":"The specified organization does not exist."},"422":{"description":"Invalid request path parameter or query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/service_hierarchical_state_machine/{service_hierarchical_state_machine_id}/":{"post":{"tags":["Organization"],"summary":"Create a service hierarchical state machine version","description":"Create a new version for the given service hierarchical state machine. The new version will be created with the supplied data. It needs to satisfy the following\nconstraints:\n* Each action state must have at least one action.\n* For action and decision states, each exit condition's `next_state` must either be a string that exists in the states and cannot be the same as the current state, or a 2-tuple of strings,\n  with the first string of the form `{external_service_hierarchical_state_machine_reference.external_state_name}`, and the second string the jumpback state which must be a state\n  in the states.\n* For `recall`, `reflection`, and `tool_call` states, `next_state` must either be a string that exists in the states and cannot be the same as the current state, or a 2-tuple of strings,\n  with the first string of the form `{external_service_hierarchical_state_machine_reference.external_state_name}`, and the second string the jumpback state which must be a state\n  in the states.\n* The terminal state cannot have exit conditions and must have exactly one action.\n\nSee the per-request-field documentation for more field-specific constraints.\n\nDue to the complexity of the state machine data structure, this endpoint provides a `dry_run` parameter. If set to `True`, the endpoint will check the supplied state machine would pass validations,\nbut does not actually create a new version. In this case, the endpoint returns an empty response with a 201 status code.\n\n#### Permissions:\nThis endpoint requires the following permissions:\n* `Organization:CreateServiceHierarchicalStateMachineVersion` for the service hierarchical state machine.","operationId":"create-service-hierarchical-state-machine-version","parameters":[{"name":"service_hierarchical_state_machine_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the service hierarchical state machine to create a new version for.","title":"Service Hierarchical State Machine Id"},"description":"The ID of the service hierarchical state machine to create a new version for."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"The version number of the new state machine version. If specified, this endpoint throws an error if the next version of the state machine in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new state machine version. If specified, this endpoint throws an error if the next version of the state machine in the database doesn't equal to the value of this parameter."},{"name":"dry_run","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to perform a dry run of the operation.","default":false,"title":"Dry Run"},"description":"Whether to perform a dry run of the operation."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Response"},{"type":"null"}],"title":"Response Create-Service-Hierarchical-State-Machine-Version"}}}},"404":{"description":"The specified organization, state machine, or tool does not exist."},"400":{"description":"The specified state machine version depends on another state machine that either doesn't exist or is deprecated"},"409":{"description":"The specified version number is not the expected next version for the state machine."},"422":{"description":"Invalid request path parameter, request body, or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/service_hierarchical_state_machine/{state_machine_id}/":{"delete":{"tags":["Organization"],"summary":"Delete a service hierarchical state machine","description":"Delete the specified state machine from the organization. In practice, this endpoint marks the state machine as deprecated, but will not delete\nthis state machine nor any of its versions. It does prevent new services (or inactive services to be activated) from using this state machine.\n\nAn error will be raised if this endpoint is called when an active service still utilizes this state machine. However, any ongoing conversation using this state machine,\nas well as any state machine version that depends on this state machine will continue to work.\n\n#### Permissions:\n* `Organization:DeleteServiceHierarchicalStateMachine` for the state machine to delete.","operationId":"delete-service-hierarchical-state-machine","parameters":[{"name":"state_machine_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the state machine to delete","title":"State Machine Id"},"description":"The ID of the state machine to delete"},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"404":{"description":"The specified organization or state machine does not exist."},"400":{"description":"An active service exists that utilizes this state machine."},"409":{"description":"The specified state machine is already deleted"},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/api_key/":{"post":{"tags":["Organization"],"summary":"Create an API key","description":"Create a new API key for the given organization. This API key authorizes the organization to retrieve a per-user access token for users in this organization which allows the users to access most of Amigo's API endpoints.\nThis API key is valid for the duration specified in the request. There's no way to extend the duration of an API key. The API key is not retrievable after issuance, so please keep it in a secure location.\n\nEach organization has a maximum limit of 20 API keys.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:CreateAPIKey`.\n* This endpoint requires the authenticated user to have more privileges than the role associated with the API key.","operationId":"create-api-key","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_api_key__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_api_key__Response"}}}},"404":{"description":"The specified organization or role does not exist."},"400":{"description":"The organization has reached the maximum API key limit."},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A related operation is in progress."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}}},"get":{"tags":["Organization"],"summary":"Get API keys for the organization","description":"Get all API keys for the organization.\n\n#### Permissions\nThis endpoint is impacted by the following permissions:\n* Only API keys that the authenticated user has the `Organization:GetAPIKey` permission for are returned.","operationId":"get-api-keys","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_api_keys__Response"}}}},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The organization does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/api_key/{api_key_id}/":{"delete":{"tags":["Organization"],"summary":"Delete an API key","description":"Delete the given API key from this organization.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:DeleteAPIKey`.","operationId":"delete-api-key","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","description":"ID of the API key to delete.","title":"Api Key Id"},"description":"ID of the API key to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__delete_api_key__Response"}}}},"404":{"description":"The specified organization or the API key does not exist."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/agent/{agent_id}/version":{"get":{"tags":["Organization"],"summary":"Get agent versions","description":"Retrieve the versions of an agent.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:GetAgent` for the agent to retrieve.","operationId":"get-agent-versions","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the agent.","title":"Agent Id"},"description":"The ID of the agent."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the agent to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","examples":["1","1-latest","2-5","latest"],"title":"Version"},"description":"The versions of the agent to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of agent versions to return.","default":10,"title":"Limit"},"description":"The maximum number of agent versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of agent version.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of agent version."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_agent_versions__Response"}}}},"404":{"description":"Specified organization or agent is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/service_hierarchical_state_machine/{service_hierarchical_state_machine_id}/version":{"get":{"tags":["Organization"],"summary":"Get service hierarchical state machine versions","description":"Retrieve the versions of a state machine.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:GetServiceHierarchicalStateMachine` for the state machine to retrieve.","operationId":"get-service-hierarchical-state-machine-versions","parameters":[{"name":"service_hierarchical_state_machine_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the state machine.","title":"Service Hierarchical State Machine Id"},"description":"The ID of the state machine."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the state machine to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","examples":["1","1-latest","2-5","latest"],"title":"Version"},"description":"The versions of the state machine to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of state machine versions to return.","default":10,"title":"Limit"},"description":"The maximum number of state machine versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of state machine versions.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of state machine versions."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_service_hierarchical_state_machine_versions__Response"}}}},"404":{"description":"Specified organization or service hierarchical state machine is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/organization/user_dimensions/":{"get":{"tags":["Organization"],"summary":"Get user dimensions for the organization","description":"Get the list of user dimensions for the organization.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Organization:GetOrganizationDetails` for the current organization.","operationId":"get-user-dimensions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_user_dimensions__Response"}}}},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The organization does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/service/":{"get":{"tags":["Service"],"summary":"Get services","description":"Retrieve a list of services in this organization.\n\n#### Permissions\nThis endpoint is impacted by the following permissions:\n* Only services that the authenticated user has the `Service:GetService` permission for are returned.","operationId":"get-services","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services to retrieve.","default":[],"title":"Id"},"description":"The IDs of the services to retrieve."},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the service is active.","title":"Is Active"},"description":"Whether the service is active."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the services by. Supported fields are `name` and `is_active`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the services by. Supported fields are `name` and `is_active`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags to filter the services by. Must be specified using the syntax `key:value`, which means to match all services with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tags"},"description":"The tags to filter the services by. Must be specified using the syntax `key:value`, which means to match all services with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"exclusiveMinimum":0,"description":"The maximum number of services to return.","default":10,"title":"Limit"},"description":"The maximum number of services to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of services.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of services."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__service__get_services__Response"}}}},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"404":{"description":"The specified organization does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}},"post":{"tags":["Service"],"summary":"Create a service","description":"Create a new service. Depending on whether an active service with the same name already exists, the endpoint behaves differently:\n* If `is_active` is `False`, creates an inactive new service.\n* If `is_active` is `True` and no active service with the given name exists, creates a new active service.\n* If `is_active` is `True` and an active service with the given name exists, this endpoint throws an error.\n\nThe new service will automatically contain an `edge` version set that uses the latest `Agent` and `ServiceHierarchicalStateMachine` versions with no LLM model preference.\nIt will also create a `release` version set, that will equal to what's specified in the request if the `release_version_set` is specified, or equal to `edge` if not.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Service:CreateService` for the service to create.\n* `Service:CreateVersionSet` for the `edge` and `release` version sets.","operationId":"create-service","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__service__create_service__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__service__create_service__Response"}}}},"404":{"description":"The specified organization, agent, or service hierarchical state machine do not exist."},"400":{"description":"\nThis error could be thrown due to the following reasons:\n* The specified ID for agent or service hierarchical state machine versions in the `release` version set does not belong to the agent or service hierarchical state machine of the service.\n* The specified agent or state machine doesn't have any versions.\n* The specified LLM config is invalid.\n                "},"409":{"description":"An active service with the given name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/service/{service_id}/version_sets/{version_set_name}/":{"put":{"tags":["Service"],"summary":"Upsert a service version set","description":"Upsert a version set for the specified service. Replace the existing version set with the same name if any, or create a new one.\n\nNote that the `edge` version set cannot be updated.\n\n#### Permissions\nThis endpoint may require the following permissions:\n* `Service:CreateVersionSet` if the version set does not exist.\n* `Service:UpdateVersionSet` if the version set already exists.","operationId":"upsert-service-version-set","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"Identifier of the service.","title":"Service Id"},"description":"Identifier of the service."},{"name":"version_set_name","in":"path","required":true,"schema":{"$ref":"#/components/schemas/StrippedNonemptyString_A-Za-z0-9_-______MaxLen_max_length_40_","description":"Name of the version set to upsert."},"description":"Name of the version set to upsert."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__service__upsert_service_version_set__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization or service do not exist."},"400":{"description":"The agent or service hierarchical state machine version in the request do not belong to the agent or state machine of the service, or attempted to update the `edge` version set, or the supplied LLM config is invalid."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 30 requests per minute for this endpoint."}}},"delete":{"tags":["Service"],"summary":"Delete a service version set","description":"Delete the given verion set from the given service.\n\nThis endpoint will error if the version set is used in any simulation unit tests.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Service:DeleteVersionSet` for the version set.","operationId":"delete-service-version-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"service_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"Identifier of the service.","title":"Service Id"},"description":"Identifier of the service."},{"name":"version_set_name","in":"path","required":true,"schema":{"type":"string","description":"Name of the version set.","title":"Version Set Name"},"description":"Name of the version set."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter failed validation."},"400":{"description":"The specified version set is used in a simulation unit test, or is the `edge` or `release` version set."},"404":{"description":"The specified organization, service, or version set do not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 30 requests per minute for this endpoint."}}}},"/v1/{organization}/service/{service_id}/":{"post":{"tags":["Service"],"summary":"Update a service","description":"Update fields about a service.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Service:UpdateService` for the service.","operationId":"update-service","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the service to update.","title":"Service Id"},"description":"The identifier of the service to update."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__service__update_service__Request"}}}},"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization or service do not exist."},"400":{"description":"\nThis may occur for the following reasons:\n* The request intends to activate a service that uses a deprecated agent, state machine, or LLM, or it uses an invalid agent or state machine.\n* The request intends to deactivate a service that is used in a simulation unit test."},"409":{"description":"The request intends to activate a service that has an active service with the same name."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/":{"post":{"tags":["Conversation"],"summary":"Create a conversation","description":"Create a new conversation and start it. The user must not have any unfinished conversations that belong to the same service.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Conversation:CreateConversation` for the new conversation.\n\nThis endpoint may be impacted by the following permissions:\n* `CurrentAgentActionEvent`s are only emitted if the authenticated user has the `Conversation:GetInteractionInsights` permission.","operationId":"create-conversation","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"response_format","in":"query","required":true,"schema":{"enum":["text","voice"],"type":"string","description":"The format of the response that will be sent to the user.","title":"Response Format"},"description":"The format of the response that will be sent to the user."},{"name":"current_agent_action_type","in":"query","required":false,"schema":{"type":"string","description":"A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`.","default":"^.*$","title":"Current Agent Action Type"},"description":"A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__create_conversation__Request"}}}},"responses":{"201":{"description":"\nSucceeded. The response will be a stream of events in JSON format separated by newlines. The server will transmit an event as soon as one is available,\nso the client should respond to the events as soon as one arrives, and keep listening until the server closes the connection.\n","content":{"application/x-ndjson":{"schema":{"type":"object","$ref":"#/components/schemas/src__app__endpoints__conversation__create_conversation__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization, service, or version set is not found."},"400":{"description":"\nThis may occur for the following reasons:\n* Attempting to start a conversation when other unfinished conversations exist.\n* The preferred language does not support voice response.\n* The `response_audio_format` field is not set when voice output is requested.\n* The agent does not have voice config specified."},"409":{"description":"A related operation is in progress."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}}},"get":{"tags":["Conversation"],"summary":"Get conversations","description":"Retrieve conversations in an organization based on supplied filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* The `final_message` field in the response is only non-empty if the authenticated user has the `Conversation.GetMessage` permission on the final message.\n* The `version_set_info` field in the response is only non-empty if the authenticated user has the `Service.GetVersionSet` permission on the version set.\n* Only conversations for which the user has the `Conversation.GetConversation` permission are returned.","operationId":"get-conversations","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"user_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The identifier of the user whose conversations to retrieve.","default":[],"title":"User Id"},"description":"The identifier of the user whose conversations to retrieve."},{"name":"service_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The identifier of the service whose conversation to retrieve.","default":[],"title":"Service Id"},"description":"The identifier of the service whose conversation to retrieve."},{"name":"is_finished","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the conversation is finished.","title":"Is Finished"},"description":"Whether the conversation is finished."},{"name":"id","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The ID of the conversation to retrieve.","default":[],"title":"Id"},"description":"The ID of the conversation to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":150,"exclusiveMinimum":0,"description":"The maximum number of conversations to retrieve.","default":150,"title":"Limit"},"description":"The maximum number of conversations to retrieve."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token returned from the previous response to retrieve the next set of conversations.","default":0,"title":"Continuation Token"},"description":"The continuation token returned from the previous response to retrieve the next set of conversations."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The field to sort the conversations by. Supported fields are `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The field to sort the conversations by. Supported fields are `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__get_conversations__Response"}}}},"422":{"description":"Invalid request path parameter or query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 15 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/{conversation_id}/messages/":{"get":{"tags":["Conversation"],"summary":"Get conversation messages","description":"Retrieve messages in a conversation, sorted in the specified order, up to the specified limit.\n\n#### Permissions\nThis endpoint is impacted by the following permissions:\n* Only messages that the authenticated user has `Conversation.GetMessage` permission on will be returned.","operationId":"get-conversation-messages","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the conversation.","title":"Conversation Id"},"description":"The identifier of the conversation."},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the messages to retrieve.","default":[],"title":"Id"},"description":"The IDs of the messages to retrieve."},{"name":"message_type","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/MessageType"},"description":"The type of messages to retrieve.","default":["external-event","agent-message","user-message"],"title":"Message Type"},"description":"The type of messages to retrieve."},{"name":"interaction_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the interactions to retrieve messages for.","default":[],"title":"Interaction Id"},"description":"The IDs of the interactions to retrieve messages for."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"exclusiveMinimum":0,"description":"The maximum number of messages to return. At most 500 messages can be returned in one request.","default":500,"title":"Limit"},"description":"The maximum number of messages to return. At most 500 messages can be returned in one request."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token to use to retrieve the next set of messages.","default":0,"title":"Continuation Token"},"description":"The continuation token to use to retrieve the next set of messages."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The field to sort the messages by. Supported fields are `interaction_id` and `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The field to sort the messages by. Supported fields are `interaction_id` and `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__get_conversation_messages__Response"}}}},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"Specified organization or conversation is not found."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/{conversation_id}/finish/":{"post":{"tags":["Conversation"],"summary":"Finish a conversation","description":"Conclude a conversation and asynchronously initiate post-conversation analysis.\n\nThis endpoint should only be called on a started, non-finished conversation. It can only be called when the previous [`Start a conversation`](start-conversation) and\n[`Interact with a conversation`](interact-with-conversation) calls have finished.\n\nIf the conversation has no messages, the conversation is deleted.\n\nIt's possible for some conversations to automatically finish during an [`Interact with a conversation`](interact-with-conversation) call (for instance, if the user explicitly sends a message\nindicating that they're done with the conversation). In that case, this endpoint shouldn't be called, as the [`Interact with a conversation`](interact-with-conversation) endpoint automatically\nwraps up the conversation.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User:UpdateUserInfo` on the user who started the conversation.\n* `Conversation:FinishConversation` on the conversation.","operationId":"finish-conversation","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the conversation to finish.","title":"Conversation Id"},"description":"The identifier of the conversation to finish."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"404":{"description":"Specified organization or conversation is not found."},"422":{"description":"Invalid request path parameter failed validation."},"409":{"description":"The specified conversation is already finished, or a related operation is in process."},"400":{"description":"The conversation has no interactions."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/{conversation_id}/interaction/{interaction_id}/recommend_responses":{"post":{"tags":["Conversation"],"summary":"Recommend responses for interaction","description":"Generate a recommended response for the user to send based on the existing chat history. This should be called when the most recent interaction\nhad concluded for a while but the user still hasn't responded.\n\n#### Permissions:\nThis endpoint requires the following permissions:\n* `Conversation:GetRecommendedResponses` on this conversation.","operationId":"recommend-responses-for-interaction","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the conversation.","title":"Conversation Id"},"description":"The identifier of the conversation."},{"name":"interaction_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the most recent interaction.","title":"Interaction Id"},"description":"The identifier of the most recent interaction."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__recommend_responses_for_interaction__Request","default":{"context":"\nPERSONA:\nName: User\nBackground: A typical person seeking this service.\n---\nSCENARIO:\nName: Complete Service\nObjective: Successfully complete the service interaction.\nInstructions: Engage naturally with the agent to achieve the service objective.\n"}}}}},"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__recommend_responses_for_interaction__Response"}}}},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"Specified organization or conversation is not found."},"400":{"description":"The conversation is finished, or the supplied interaction ID doesn't correspond to the latest, completed interaction."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/{conversation_id}/interaction/{interaction_id}/insights":{"get":{"tags":["Conversation"],"summary":"Get interaction insights","description":"Retrieve insights about the agent's message for a given interaction.\n\n#### Permissions:\nThis endpoint requires the following permissions:\n* `Conversation:GetInteractionInsights` on the conversation.\n* `Organization:GetServiceHierarchicalStateMachine` on the state machine that the current interaction is in.\n\nThis endpoint may be impacted by the following permissions:\n* Only reflection messages for which the authenticated user has the `Conversation:GetMessage` permission are included in the response.","operationId":"get-interaction-insights","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the conversation.","title":"Conversation Id"},"description":"The identifier of the conversation."},{"name":"interaction_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the interaction.","title":"Interaction Id"},"description":"The identifier of the interaction."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__get_interaction_insights__Response"}}}},"404":{"description":"Specified organization, conversation, or interaction is not found."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/{conversation_id}/interact":{"post":{"tags":["Conversation"],"summary":"Interact with a conversation","description":"Send a new user message to the conversation. The endpoint will perform analysis and generate an agent message in response.\n\nA `UserMessageAvailableEvent` will be the first event in the response, which includes the user message if it's sent as text, or the transcribed message if it's sent as voice.\nA series of `CurrentAgentActionEvent`s will follow, which indicates steps in the agent's thinking process. Then the agent message is generated sequentially in pieces, with each piece\nbeing sent as a `NewMessageEvent` in the response. After all the pieces are sent, an `InteractionCompleteEvent` is sent. Depending on the `conversation_completed` property in this event, the conversation will be awaiting\na new message from the user, or it might automatically end (for instance, because the user message indicates the user wants to end the session), while the conversation is marked as finished and the post-conversation\nanalysis asynchronously initiated. The connection will then terminate.\n\nAny further action on the conversation is only allowed after the connection is terminated.\n\nA 200 status code doesn't indicate the successful completion of this endpoint, because the status code is transmitted before the stream starts. At any point during the stream,\nan `ErrorEvent` might be sent, which indicates that an error has occurred. The connection will be immediately closed after.\n\nThis endpoint can only be called on a conversation that has started but not finished.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User:UpdateUserInfo` on the user who started the conversation.\n* `Conversation:InteractWithConversation` on the conversation.\n\nThis endpoint may be impacted by the following permissions:\n* `CurrentAgentActionEvent`s are only emitted if the authenticated user has the `Conversation:GetInteractionInsights` permission.","operationId":"interact-with-conversation","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the conversation to send a message to.","title":"Conversation Id"},"description":"The identifier of the conversation to send a message to."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"request_format","in":"query","required":true,"schema":{"enum":["text","voice"],"type":"string","description":"The format in which the user message is delivered to the server.","title":"Request Format"},"description":"The format in which the user message is delivered to the server."},{"name":"response_format","in":"query","required":true,"schema":{"enum":["text","voice"],"type":"string","description":"The format of the response that will be sent to the user.","title":"Response Format"},"description":"The format of the response that will be sent to the user."},{"name":"current_agent_action_type","in":"query","required":false,"schema":{"type":"string","description":"A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`.","default":"^.*$","title":"Current Agent Action Type"},"description":"A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`."},{"name":"request_audio_config","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/UserMessageAudioConfig"},{"type":"null"}],"description":"Configuration for the user message audio. This is only required if `request_format` is set to `voice`.","title":"Request Audio Config"},"description":"Configuration for the user message audio. This is only required if `request_format` is set to `voice`."},{"name":"content-type","in":"header","required":true,"schema":{"type":"string","pattern":"^multipart\\/form-data; boundary=.+$","description":"The content type of the request body, which must be `multipart/form-data` followed by a boundary.","title":"Content-Type"},"description":"The content type of the request body, which must be `multipart/form-data` followed by a boundary."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"\nSucceeded. The response will be a stream of events in JSON format separated by newlines. The server will transmit an event as soon as one is available,\nso the client should respond to the events as soon as one arrives, and keep listening until the server closes the connection.\n","content":{"application/x-ndjson":{"schema":{"type":"object","$ref":"#/components/schemas/src__app__endpoints__conversation__interact_with_conversation__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization or conversation is not found."},"409":{"description":"The specified conversation is already finished, or a related operation is in process."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"415":{"description":"The format of the supplied audio file is not supported."},"429":{"description":"The user has exceeded the rate limit of 15 requests per minute for this endpoint."},"400":{"description":"\nThis may occur for the following reasons:\n* The user message is empty.\n* The preferred language does not support voice transcription or response.\n* The `response_audio_format` field is not set when voice output is requested.\n* The timestamps for external event messages are not in the past.\n* The timestamps for external event messages are inconsistent with the conversation.\n* The agent does not have voice config specified."},"408":{"description":"The request body stream timed out."}},"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"oneOf":[{"properties":{"initial_message_type":{"const":"external-event","title":"Initial Message Type","type":"string"},"recorded_message":{"minLength":1,"type":"string"},"external_event_message_content":{"default":[],"description":"The contents of external event messages to be inserted before the initial message, in chronological order.","items":{"minLength":1,"type":"string"},"title":"External Event Message Content","type":"array"},"external_event_message_timestamp":{"default":[],"description":"The timestamps of external event messages to be inserted before the initial message, in chronological order.","items":{"format":"date-time","type":"string"},"title":"External Event Message Timestamp","type":"array"}},"required":["initial_message_type","recorded_message"],"title":"ExternalEventClientMessageRequestBody","type":"object"},{"properties":{"initial_message_type":{"const":"user-message","title":"Initial Message Type","type":"string"},"recorded_message":{"minLength":1,"type":"string"},"external_event_message_content":{"default":[],"description":"The contents of external event messages to be inserted before the initial message, in chronological order.","items":{"minLength":1,"type":"string"},"title":"External Event Message Content","type":"array"},"external_event_message_timestamp":{"default":[],"description":"The timestamps of external event messages to be inserted before the initial message, in chronological order.","items":{"format":"date-time","type":"string"},"title":"External Event Message Timestamp","type":"array"}},"required":["initial_message_type","recorded_message"],"title":"UserMessageClientMessageRequestBody","type":"object"},{"properties":{"initial_message_type":{"const":"skip","title":"Initial Message Type","type":"string"},"recorded_message":{"description":"The body of the initial message, which must be empty.","maxLength":0,"title":"Recorded Message","type":"string"},"external_event_message_content":{"default":[],"description":"Must be empty, as external event messages cannot be sent with skips.","items":{"minLength":1,"type":"string"},"maxItems":0,"title":"External Event Message Content","type":"array"},"external_event_message_timestamp":{"default":[],"description":"Must be empty, as external event messages cannot be sent with skips.","items":{"format":"date-time","type":"string"},"maxItems":0,"title":"External Event Message Timestamp","type":"array"}},"required":["initial_message_type","recorded_message"],"title":"SkipClientMessageRequestBody","type":"object"}]}}}}}},"/v1/{organization}/conversation/{conversation_id}/messages/{message_id}/source":{"get":{"tags":["Conversation"],"summary":"Retrieve message source","description":"Retrieve the raw source of the given message. It's only applicable to messages that did not originate as texts.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Conversation:GetMessage` on the the message.","operationId":"retrieve-message-source","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the conversation.","title":"Conversation Id"},"description":"The identifier of the conversation."},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the message.","title":"Message Id"},"description":"The identifier of the message."},{"name":"long_lived","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to generate a long-lived URL which lasts 12 hours. For security purposes, it's recommended to set this to false as much as possible.","default":false,"title":"Long Lived"},"description":"Whether to generate a long-lived URL which lasts 12 hours. For security purposes, it's recommended to set this to false as much as possible."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"404":{"description":"Specified organization or message is not found."},"400":{"description":"The message is a text message."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 30 request per minute for this endpoint."}}}},"/v1/{organization}/conversation/conversation_starter":{"post":{"tags":["Conversation"],"summary":"Generate conversation starters for a service","description":"Generate conversation starters for a service.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Conversation:CreateConversation` for a hypothetical new conversation created using the same setting.","operationId":"generate-conversation-starter","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__generate_conversation_starter__Request"}}}},"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__generate_conversation_starter__Response"}}}},"404":{"description":"Service not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/conversation/{conversation_id}/tags/":{"post":{"tags":["Conversation"],"summary":"Modify tags of a conversation","description":"Modify the tags of a conversation.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Conversation:ModifyConversation` for the conversation to modify tags for.","operationId":"modify-tags-of-conversation","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Conversation Id"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__conversation__modify_tags_of_conversation__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization or conversation is not found."},"400":{"description":"The conversation cannot contain more than 20 tags."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/user/":{"post":{"tags":["User"],"summary":"Create a new user","description":"Invite a user to the Amigo platform. The endpoint will create a new user in the organization, linked to the\nsupplied email address. The created user will remain in the unverified status and will not have access to most of Amigo's services.\n\nIf `login_link` is not-`None`, an email containing it will be sent to the user's email with descriptions indicating that this would allow the user to login\nand start their Amigo experience. Otherwise, no email will be sent.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User:InviteUser` on the user to invite.\n* The authenticated user must have greater privileges than the role assigned to the new user.","operationId":"create-invited-user","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__create_invited_user__Request"}}}},"responses":{"201":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__create_invited_user__Response"}}}},"409":{"description":"User with the same email already exists in this organization, or a related operation is in progress."},"404":{"description":"Specified organization or role is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}},"get":{"tags":["User"],"summary":"Get users","description":"Retrieve all users in an organization.\n\n#### Permissions\nThis endpoint is impacted by the following permissions:\n* Only users that the authenticated user has the `User:GetUserInfo` permission for are returned.","operationId":"get-users","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"user_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The ID of the user.","default":[],"title":"User Id"},"description":"The ID of the user."},{"name":"email","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","format":"email"},"description":"The email of the user.","default":[],"title":"Email"},"description":"The email of the user."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":0,"description":"The maximum number of users to retrieve.","default":100,"title":"Limit"},"description":"The maximum number of users to retrieve."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The token from the previous request to return the next page of users.","default":0,"title":"Continuation Token"},"description":"The token from the previous request to return the next page of users."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `first_name`, `last_name`, `email`, `user_stats.num_conversations`, `user_stats.num_messages`, and `user_stats.last_message_time`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `first_name`, `last_name`, `email`, `user_stats.num_conversations`, `user_stats.num_messages`, and `user_stats.last_message_time`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__get_users__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 60 requests per minute for this endpoint."}}}},"/v1/{organization}/user/signin_with_api_key":{"post":{"tags":["User"],"summary":"Sign in with API key","description":"Given an organization API key, issue an authorization token for the specified user. The token should then be attached to the `Authorization` header in subsequent Amigo API calls.\n\nThis is an alternative authorization method for users who cannot use the Amigo frontend to login and authenticate.","operationId":"sign-in-with-api-key","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","description":"The value of the API key.","title":"X-Api-Key"},"description":"The value of the API key."},{"name":"x-api-key-id","in":"header","required":true,"schema":{"type":"string","description":"The ID of the API key.","title":"X-Api-Key-Id"},"description":"The ID of the API key."},{"name":"x-user-id","in":"header","required":true,"schema":{"type":"string","description":"The ID of the user to sign in as.","title":"X-User-Id"},"description":"The ID of the user to sign in as."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__sign_in_with_api_key__Response"}}}},"404":{"description":"Specified organization is not found."},"401":{"description":"API key not found, is incorrect, or the requested user is not found."},"422":{"description":"Invalid request path parameter failed validation."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}},"security":[{"API-Key-Authorization-Key":[],"API-Key-Authorization-ID":[],"API-Key-Authorization-UserID":[]}]}},"/v1/{organization}/user/signin":{"post":{"tags":["User"],"summary":"Sign in with email","description":"Send a magic link to the user's email to sign in. If the specified email doesn't correspond to an user, the endpoint succeeds silently.","operationId":"sign-in-with-email","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__sign_in_with_email__Request"}}}},"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"503":{"description":"The service is going through temporary maintenance."}},"security":[]}},"/v1/{organization}/user/{requested_user_id}":{"post":{"tags":["User"],"summary":"Update user info","description":"Update information about an user. Only fields that are specified in the request are updated.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User:UpdateUserInfo` for the user to update.","operationId":"update-user-info","parameters":[{"name":"requested_user_id","in":"path","required":true,"schema":{"type":"string","description":"The identifier of the user to update information for.","title":"Requested User Id"},"description":"The identifier of the user to update information for."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__update_user_info__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization or user is not found."},"409":{"description":"A related operation is in progress."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}},"delete":{"tags":["User"],"summary":"Delete an user","description":"Delete an user. This endpoint deletes the user from the Amigo system.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User.DeleteUser` on the user to delete.","operationId":"delete-user","parameters":[{"name":"requested_user_id","in":"path","required":true,"schema":{"type":"string","description":"The identifier of the user to delete.","title":"Requested User Id"},"description":"The identifier of the user to delete."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"404":{"description":"Specified organization or user is not found."},"400":{"description":"The user is currently active in Actions development."},"422":{"description":"Invalid request path parameter failed validation."},"409":{"description":"A related operation is in progress."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}}},"/v1/{organization}/user/{user_id}/user_model":{"get":{"tags":["User"],"summary":"Get user model","description":"Retrieve the user models for an user.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User:GetUserModel` for the user to retrieve the user models for.","operationId":"get-user-model","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the user whose user models to retrieve.","title":"User Id"},"description":"The ID of the user whose user models to retrieve."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__get_user_model__Response"}}}},"404":{"description":"Specified organization or user is not found."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 60 requests per minute for this endpoint."}}}},"/v1/{organization}/user/{user_id}/memory":{"get":{"tags":["User"],"summary":"Get memories","description":"Retrieve memories for the specified users.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only memories with references that the authenticated user has the `Conversation:GetMessage` permission on will be returned.","operationId":"get-memories","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the user to retrieve memories for.","title":"User Id"},"description":"The ID of the user to retrieve memories for."},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the memories to retrieve.","default":[],"title":"Id"},"description":"The IDs of the memories to retrieve."},{"name":"conversation_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the conversations to retrieve memories from.","default":[],"title":"Conversation Id"},"description":"The IDs of the conversations to retrieve memories from."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of memories to retrieve.","default":50,"title":"Limit"},"description":"The maximum number of memories to retrieve."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The token from the previous request to return the next page of memories.","default":0,"title":"Continuation Token"},"description":"The token from the previous request to return the next page of memories."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `conversation_id` and `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `conversation_id` and `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__get_memories__Response"}}}},"404":{"description":"Specified organization or user is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 40 requests per minute for this endpoint."}}}},"/v1/{organization}/user/search/":{"get":{"tags":["User"],"summary":"Search users","description":"Search users in the organization using their names or emails.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only users that the authenticated user has the `User:GetUserInfo` permission for will be returned.","operationId":"search-users","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"type":"string","description":"The search query. Any users whose name or email contains the query are returned.","title":"Query"},"description":"The search query. Any users whose name or email contains the query are returned."},{"name":"user_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The IDs of the users.","default":[],"title":"User Id"},"description":"The IDs of the users."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__search_users__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/user/{requested_user_id}/variable":{"post":{"tags":["User"],"summary":"Modify the variables of an user","description":"Upsert or delete the user's variables. These changes are only reflected in tool invocations that are not yet made.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `User:UpdateUserInfo` for the user to modify variables for.","operationId":"modify-user-variables","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"requested_user_id","in":"path","required":true,"schema":{"type":"string","description":"The identifier of the user to update information for.","title":"Requested User Id"},"description":"The identifier of the user to update information for."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__user__modify_user_variables__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization or user is not found."},"400":{"description":"One or more variables to delete do not exist, or the user has exceeded the limit of 20 nonsensitive variables."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/role/temporary_permission_grant/":{"post":{"tags":["Role"],"summary":"Create a temporary permission grant","description":"Create a new temporary permission grant.\n\nThe user that is given the grant will be able to perform actions permitted by the grant for a limited amount of time. Note that any actions that\nrequire comparing the permissions of the user and the permissions of another entity would still use the user and the other entity's role, without\nfactoring into the temporary permission grants.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Role:CreateTemporaryPermissionGrant` for the grant to create.","operationId":"create-temporary-permission-grant","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__create_temporary_permission_grant__Request"}}}},"responses":{"201":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__create_temporary_permission_grant__Response"}}}},"404":{"description":"Specified organization or user is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}}},"/v1/{organization}/role/temporary_permission_grants/":{"get":{"tags":["Role"],"summary":"Get temporary permission grants","description":"Retrieve the temporary permission grants that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only temporary permission grants that the authenticated user has `Role:GetTemporaryPermissionGrant` permission for will be returned.","operationId":"get-temporary-permission-grants","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the temporary permission grants to retrieve.","default":[],"title":"Id"},"description":"The IDs of the temporary permission grants to retrieve."},{"name":"user_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The user IDs of the temporary permission grants to retrieve.","default":[],"title":"User Id"},"description":"The user IDs of the temporary permission grants to retrieve."},{"name":"permission_grant_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The permission name of the grants.","title":"Permission Grant Name"},"description":"The permission name of the grants."},{"name":"is_expired","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether to only return expired or unexpired temporary permission grants.","title":"Is Expired"},"description":"Whether to only return expired or unexpired temporary permission grants."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"minimum":0,"description":"The maximum number of temporary permission grants to return.","default":10,"title":"Limit"},"description":"The maximum number of temporary permission grants to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token to use to retrieve the next set of temporary permission grants.","default":0,"title":"Continuation Token"},"description":"The continuation token to use to retrieve the next set of temporary permission grants."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the temporary permission grants.","default":[],"title":"Creator"},"description":"The creators of the temporary permission grants."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the temporary permission grants. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the temporary permission grants. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `user_id`, `expires_at`, and `permission_grant.permission_name`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `user_id`, `expires_at`, and `permission_grant.permission_name`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__get_temporary_permission_grants__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}}},"/v1/{organization}/role/":{"post":{"tags":["Role"],"summary":"Create a role","description":"Create a new role.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Role:CreateRole` for the role.","operationId":"create-role","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__create_role__Request"}}}},"responses":{"201":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__create_role__Response"}}}},"409":{"description":"Role with the same name already exists in this organization."},"404":{"description":"Specified organization or inherited role is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}},"get":{"tags":["Role"],"summary":"Get roles","description":"Return a list of roles in this organization.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only roles that the authenticated user has the `Role:GetRole` permission on will be returned.","operationId":"get_roles_v1__organization__role__get","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"return_permission_grants","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to return permission grants.","default":false,"title":"Return Permission Grants"},"description":"Whether to return permission grants."},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the roles to retrieve.","default":[],"title":"Id"},"description":"The IDs of the roles to retrieve."},{"name":"name","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The names of the roles to retrieve.","default":[],"title":"Name"},"description":"The names of the roles to retrieve."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__get_roles__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/role/{role_name}":{"post":{"tags":["Role"],"summary":"Modify a role","description":"Modify an existing role. The roles are modified in-place unless immutable fields are modified, in which case a new role with the same name\nis created, and all users/API keys assigned to the previous role are switched to the new role. The old role document will expire after 1 day.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Role:ModifyRole` for the role.\n\nThis endpoint may require the authenticated user to have great privileges than the new role if a new role document is created as a result of\nimmutable field changes.","operationId":"modify-role","parameters":[{"name":"role_name","in":"path","required":true,"schema":{"type":"string","description":"The name of the role.","title":"Role Name"},"description":"The name of the role."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__modify_role__Request"}}}},"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__modify_role__Response"}}}},"404":{"description":"Specified organization, role, or inherited role is not found."},"400":{"description":"Base roles cannot inherit from other roles."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/role/{role_name}/assign":{"post":{"tags":["Role"],"summary":"Assign a role to user","description":"Assign a role to a user.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* The authenticated user to have greater privileges than the role being assigned.","operationId":"assign-role","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"role_name","in":"path","required":true,"schema":{"type":"string","description":"The name of the role to assign.","title":"Role Name"},"description":"The name of the role to assign."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__assign_role__Request"}}}},"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__role__assign_role__Response"}}}},"404":{"description":"Specified organization, role, or user is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 1000 requests per minute for this endpoint."}}}},"/v1/{organization}/admin/get_prompt_logs/":{"get":{"tags":["Admin"],"summary":"Get prompt logs","description":"Download all rendered prompt logs whose log keys match the supplied prefix that are produced in the past 30 days. Only prefixes corresponding to less than or equal to 1000 prompt logs are allowed.\nThe prompt logs will be returned in a zip file format, with each prompt log corresponding to at most 2 files -- `{log_key}-system` for the rendered system prompt, and `{log_key}-history` for the\nrendered history prompts, where each history prompt is separated by `---`.\n\nIf an error is encountered during the download stream that is scoped to an individual prompt log, a `{log_key}-error` file will be generated which contains a description of the error.\nIf an error is encountered that causes the generation to stop completely, no error message will be returned. Instead, the stream will end, and the transmitted bytes wouldn't constitute\na valid zip file.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Each prompt log requires its own set of permissions. If the authenticated user does not have the required permissions, a `{log_key}-error` file will be generated in place of the actual\nprompt log.","operationId":"get-prompt-logs","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"prompt_log_prefix","in":"query","required":true,"schema":{"type":"string","description":"The prefix of the prompt log to retrieve.","title":"Prompt Log Prefix"},"description":"The prefix of the prompt log to retrieve."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/zip":{"schema":{"type":"string"}}}},"422":{"description":"Invalid request path parameter or query parameter failed validation."},"404":{"description":"No prompt logs found matching the supplied prefix"},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/admin/sql_query":{"post":{"tags":["Admin"],"summary":"Submit a SQL query","description":"Execute a read-only SQL query on Amigo's databases for the specified organization.\n\n#### Permissions\nThis endpoint requires the authenticated user to have greater privileges than the `DefaultAdministratorRole`.","operationId":"submit-sql-query","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__admin__submit_sql_query__Request"}}}},"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__admin__submit_sql_query__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"408":{"description":"The supplied query cannot be executed within the time limit."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 6 requests per minute for this endpoint."},"400":{"description":"This endpoint is not supported in the current environment, or the SQL query is invalid."}}}},"/v1/{organization}/admin/get_models/":{"get":{"tags":["Admin"],"summary":"Get models","description":"Get a list of LLM models supported by the Amigo platform at this moment.\n\n#### Permissions:\nThis endpoint requires the following permissions:\n* `Admin:GetModels`.","operationId":"get-models","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__admin__get_models__Response"}}}},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/webhook_destination/":{"post":{"tags":["Webhook Destination"],"summary":"Create a webhook destination","description":"Create a new webhook destination. At most 10 webhook destinations can be defined per organization.\n\nA secret will immediately be issued for the webhook destination. Every webhook sent to this destination will be signed using this secret.\nThis secret is one-view only and cannot be retrieved later.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Webhook:CreateWebhookDestination` for the webhook destination.","operationId":"create-webhook-destination","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__webhook_destination__create_webhook_destination__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__webhook_destination__create_webhook_destination__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization is not found."},"409":{"description":"A related operation is in progress."},"400":{"description":"The organization already has the maximum amount of webhook destinations defined."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}},"get":{"tags":["Webhook Destination"],"summary":"Get webhook destinations","description":"Retrieve this organization's webhook destinations.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* `Webhook:GetWebhookDestination` on the webhook destinations to retrieve.","operationId":"get_webhook_destinations","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the webhook destinations to retrieve.","default":[],"title":"Id"},"description":"The IDs of the webhook destinations to retrieve."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__webhook_destination__get_webhook_destinations__Response"}}}},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"404":{"description":"Specified organization is not found."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/webhook_destination/{webhook_destination_id}":{"post":{"tags":["Webhook Destination"],"summary":"Update a webhook destination","description":"Update certain configs for a webhook destination. The changes will only take effect a few seconds after this endpoint returns.\n\nThe URL of a webhook destination cannot be changed. Use [`Create a webhook destination`](create-webhook-destination) instead.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Webhook:UpdateWebhookDestination` for the webhook destination.","operationId":"update-webhook-destination","parameters":[{"name":"webhook_destination_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the webhook destination to update.","title":"Webhook Destination Id"},"description":"The identifier of the webhook destination to update."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__webhook_destination__update_webhook_destination__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"Specified organization or webhook destination is not found."},"409":{"description":"A related operation is in progress."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}},"delete":{"tags":["Webhook Destination"],"summary":"Delete a webhook destination","description":"Remove a webhook destination from the organization. The webhook destination might still be active for a few seconds after this endpoint returns.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Webhook:DeleteWebhookDestination` for the webhook destination.","operationId":"delete-webhook-destination","parameters":[{"name":"webhook_destination_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The identifier of the webhook destination to update.","title":"Webhook Destination Id"},"description":"The identifier of the webhook destination to update."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"Specified organization or webhook destination is not found."},"409":{"description":"A related operation is in progress."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/webhook_destination/{webhook_destination_id}/rotate-secret":{"post":{"tags":["Webhook Destination"],"summary":"Rotate the secret of a webhook destination","description":"Replace the secret for the given webhook destination. The new secret will be returned and cannot be retrieved later.\n\nUntil the `dual_signing_stops_at` timestamp in the response, which is roughly 30 minutes after the generation of the new secret, the webhook\nwill be signed by both the old and the new secret. This allows the webhook consumer to transition to the new secret without downtime.\n\nThe webhook rotation can occur at most once per hour for each webhook destination.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Webhook:UpdateWebhookDestination` for the webhook destination.","operationId":"rotate-webhook-destination-secret","parameters":[{"name":"webhook_destination_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID for the webhook destination to rotate the secret for.","title":"Webhook Destination Id"},"description":"The ID for the webhook destination to rotate the secret for."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__webhook_destination__rotate_webhook_destination_secret__Response"}}}},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"Specified organization or webhook destination is not found."},"409":{"description":"A related operation is in progress."},"400":{"description":"The frequency of secret rotation is limited to once per hour."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/webhook_destination/{webhook_destination_id}/delivery":{"get":{"tags":["Webhook Destination"],"summary":"Get webhook deliveries","description":"Retrieve the webhook deliveries to a webhook destination.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* `Webhook:GetWebhookDeliveries` on the webhook deliveries to retrieve.","operationId":"get-webhook-deliveries","parameters":[{"name":"webhook_destination_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the webhook destination whose deliveries to retrieve.","title":"Webhook Destination Id"},"description":"The ID of the webhook destination whose deliveries to retrieve."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WebhookDeliveryStatus"},{"type":"null"}],"description":"The status of the webhook delivery.","title":"Status"},"description":"The status of the webhook delivery."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The type of the webhook.","title":"Type"},"description":"The type of the webhook."},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"An ISO8601 timestamp in UTC of the earliest creation time of the webhook deliveries to retrieve.","title":"Created After"},"description":"An ISO8601 timestamp in UTC of the earliest creation time of the webhook deliveries to retrieve."},{"name":"created_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"An ISO8601 timestamp in UTC of the latest creation time of the webhook deliveries to retrieve.","title":"Created Before"},"description":"An ISO8601 timestamp in UTC of the latest creation time of the webhook deliveries to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of webhook deliveries to retrieve.","default":50,"title":"Limit"},"description":"The maximum number of webhook deliveries to retrieve."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The token from the previous request to return the next page of webhook deliveries.","default":0,"title":"Continuation Token"},"description":"The token from the previous request to return the next page of webhook deliveries."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `type`, `status`, and `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `type`, `status`, and `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__webhook_destination__get_webhook_deliveries__Response"}}}},"404":{"description":"Specified organization or webhook destination is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 5 requests per minute for this endpoint."}}}},"/v1/{organization}/dynamic_behavior_set/":{"post":{"tags":["Dynamic Behavior Set"],"summary":"Create a dynamic behavior set","description":"Create a new dynamic behavior set as well as its initial version.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `DynamicBehaviorInstruction:CreateDynamicBehaviorInstruction` on the set to create.\n* `DynamicBehaviorInstruction:UpdateDynamicBehaviorInstruction` on the set to create.","operationId":"create-dynamic-behavior-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization, service, or tool does not exist."},"409":{"description":"If the initial version is defined and `is_active` is set to `True`, an active dynamic behavior set with the same name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 200 requests per minute for this endpoint."}}},"get":{"tags":["Dynamic Behavior Set"],"summary":"Get dynamic behavior sets","description":"Retrieve dynamic behavior sets that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only dynamic behavior sets that the authenticated user has `DynamicBehaviorInstruction:GetDynamicBehaviorInstruction` permission for will be retrieved.","operationId":"get-dynamic-behavior-sets","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the dynamic behavior sets to retrieve.","default":[],"title":"Id"},"description":"The IDs of the dynamic behavior sets to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of dynamic behavior sets to return.","default":50,"title":"Limit"},"description":"The maximum number of dynamic behavior sets to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token to use to retrieve the next set of dynamic behavior sets.","default":0,"title":"Continuation Token"},"description":"The continuation token to use to retrieve the next set of dynamic behavior sets."},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the dynamic behavior set is active.","title":"Is Active"},"description":"Whether the dynamic behavior set is active."},{"name":"applied_to_service","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the dynamic behavior set is applied to.","default":[],"title":"Applied To Service"},"description":"The IDs of the services that the dynamic behavior set is applied to."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the dynamic behavior sets.","default":[],"title":"Creator"},"description":"The creators of the dynamic behavior sets."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_sets__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}}},"/v1/{organization}/dynamic_behavior_set/{dynamic_behavior_set_id}/":{"delete":{"tags":["Dynamic Behavior Set"],"summary":"Delete a dynamic behavior instruction","description":"Delete a dynamic behavior set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `DynamicBehaviorInstruction:DeleteDynamicBehaviorInstruction` on the dynamic behavior set to delete.","operationId":"delete-dynamic-behavior-instruction","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"dynamic_behavior_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the dynamic behavior set to delete.","title":"Dynamic Behavior Set Id"},"description":"The ID of the dynamic behavior set to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The specified organization or dynamic behavior set does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}},"post":{"tags":["Dynamic Behavior Set"],"summary":"Update a dynamic behavior set","description":"Update a dynamic behavior set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `DynamicBehaviorInstruction:UpdateDynamicBehaviorInstruction` on the dynamic behavior set to update.","operationId":"update-dynamic-behavior-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"dynamic_behavior_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the dynamic behavior set to delete.","title":"Dynamic Behavior Set Id"},"description":"The ID of the dynamic behavior set to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__update_dynamic_behavior_set__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization, dynamic behavior set, or service does not exist."},"409":{"description":"Another active set with the same name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}}},"/v1/{organization}/dynamic_behavior_set/{dynamic_behavior_set_id}/version/":{"post":{"tags":["Dynamic Behavior Set"],"summary":"Create a new version of a dynamic behavior set.","description":"Create a new version of the given dynamic behavior set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `DynamicBehaviorInstruction:UpdateDynamicBehaviorInstruction` on the dynamic behavior set to create a new version for.","operationId":"create-dynamic-behavior-set-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"dynamic_behavior_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the dynamic behavior set to delete.","title":"Dynamic Behavior Set Id"},"description":"The ID of the dynamic behavior set to delete."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":1},{"type":"null"}],"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Response"}}}},"422":{"description":"Invalid request path parameter, request query parameter, or request body failed validation."},"404":{"description":"The specified organization, dynamic behavior set, or tool does not exist."},"400":{"description":"The specified version number is not the expected next version to be created."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 200 requests per minute for this endpoint."}}},"get":{"tags":["Dynamic Behavior Set"],"summary":"Get dynamic behavior set versions","description":"Get the versions of a dynamic behavior set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `DynamicBehaviorInstruction:GetDynamicBehaviorInstruction` for the dynamic behavior set to retrieve.","operationId":"get-dynamic-behavior-set-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"dynamic_behavior_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the dynamic behavior set.","title":"Dynamic Behavior Set Id"},"description":"The ID of the dynamic behavior set."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the dynamic behavior set to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`,\nwhich retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`,\nand every version within the range would be retrieved.","examples":["1","1-latest","2-5","latest"],"title":"Version"},"description":"The versions of the dynamic behavior set to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`,\nwhich retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`,\nand every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of dynamic behavior set versions to return.","default":10,"title":"Limit"},"description":"The maximum number of dynamic behavior set versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of dynamic behavior set versions.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of dynamic behavior set versions."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-`\nfor descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-`\nfor descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_set_versions__Response"}}}},"404":{"description":"Specified organization or dynamic behavior set is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 1000 requests per minute for this endpoint."}}}},"/v1/{organization}/dynamic_behavior_set/search":{"get":{"tags":["Dynamic Behavior Set"],"summary":"Search dynamic behavior sets","description":"Search for dynamic behavior sets that match the given filters and contain the given query in its name and the triggers of its latest version. Only the top 50 results will be returned. The results\nwill be sorted by the relevance of the search query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only dynamic behavior sets that the authenticated user has `DynamicBehaviorInstruction:GetDynamicBehaviorInstruction` permission for will be retrieved.","operationId":"search-dynamic-behavior-sets","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any sets containing the terms in its name and the triggers of its latest version would be returned."},"description":"The query to search for. Any sets containing the terms in its name and the triggers of its latest version would be returned."},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the dynamic behavior set is active.","title":"Is Active"},"description":"Whether the dynamic behavior set is active."},{"name":"applied_to_service","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the dynamic behavior set is applied to.","default":[],"title":"Applied To Service"},"description":"The IDs of the services that the dynamic behavior set is applied to."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the dynamic behavior sets. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the dynamic behavior sets. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags.\nIf `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags.\nIf `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__search_dynamic_behavior_sets__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/dynamic_behavior_set/{dynamic_behavior_set_id}/invocation/":{"get":{"tags":["Dynamic Behavior Set"],"summary":"Get dynamic behavior invocations","description":"Retrieve the dynamic behavior invocations for a dynamic behavior set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `DynamicBehaviorInstruction:GetDynamicBehaviorInstruction` for the dynamic behavior set.\n\nThis endpoint is impacted by the following permissions:\n* Only invocations from messages that the authenticated user has the `Conversation:GetMessage` permission for are returned.","operationId":"get-dynamic-behavior-invocations","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"dynamic_behavior_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the dynamic behavior set.","title":"Dynamic Behavior Set Id"},"description":"The ID of the dynamic behavior set."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":30,"exclusiveMinimum":0,"description":"The maximum number of dynamic behavior invocations to return.","default":30,"title":"Limit"},"description":"The maximum number of dynamic behavior invocations to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of dynamic behavior invocations.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of dynamic behavior invocations."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `invoked_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `invoked_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_invocations__Response"}}}},"404":{"description":"Specified organization or dynamic behavior set is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/{metric_id}/version/":{"post":{"tags":["Metric"],"summary":"Create a new version for a metric","description":"Create a new version for the given metric.\n\n#### Permissions:\nThis endpoint requires the following permissions:\n* `Metric:ModifyMetric` for the metric to create a new version for.","operationId":"create-metric-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"metric_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the metric to create a new version for.","title":"Metric Id"},"description":"The ID of the metric to create a new version for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"description":"The version number of the new metric version. If specified, this endpoint throws an error if the next version of the metric in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new metric version. If specified, this endpoint throws an error if the next version of the metric in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__create_metric_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__create_metric_version__Response"}}}},"404":{"description":"Specified organization or metric is not found."},"400":{"description":"The metric value type cannot be changed between versions."},"409":{"description":"The next version of the metric in the database doesn't match the specified version."},"422":{"description":"Invalid request path parameter, request body, or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 60 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/{metric_id}/version":{"get":{"tags":["Metric"],"summary":"Get metric versions","description":"Retrieve the versions of a metric.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Metric:GetMetric` for the metric whose versions to retrieve.","operationId":"get-metric-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"metric_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the metric to retrieve versions for.","title":"Metric Id"},"description":"The ID of the metric to retrieve versions for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the metric to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","examples":["1","1-latest","2-5","latest"],"title":"Version"},"description":"The versions of the metric to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of metric versions to return.","default":10,"title":"Limit"},"description":"The maximum number of metric versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of metric versions.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of metric versions."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__get_metric_versions__Response"}}}},"404":{"description":"Specified organization or metric is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 60 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/":{"post":{"tags":["Metric"],"summary":"Create a metric","description":"Create a metric.\n\n#### Permissions\n* `Metric:CreateMetric` for the metric to create.","operationId":"create-metric","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__create_metric__Request"}}}},"responses":{"201":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__create_metric__Response"}}}},"409":{"description":"A metric with this name already exists"},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}},"get":{"tags":["Metric"],"summary":"Get metrics","description":"Retrieve metrics that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only metrics that the authenticated user has `Metric:GetMetric` permission for will be retrieved.","operationId":"get-metrics","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the metrics to retrieve.","default":[],"title":"Id"},"description":"The IDs of the metrics to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of metrics to return.","default":50,"title":"Limit"},"description":"The maximum number of metrics to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of metrics.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of metrics."},{"name":"applied_to_service","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the metric is applied to.","default":[],"title":"Applied To Service"},"description":"The IDs of the services that the metric is applied to."},{"name":"type","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/MetricValueType"},"description":"The types of the metrics.","default":[],"title":"Type"},"description":"The types of the metrics."},{"name":"is_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Whether the metric is deleted.","default":false,"title":"Is Deleted"},"description":"Whether the metric is deleted."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the dynamic behavior sets.","default":[],"title":"Creator"},"description":"The creators of the dynamic behavior sets."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the dynamic behavior sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__get_metrics__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/{metric_id}/":{"post":{"tags":["Metric"],"summary":"Update a metric","description":"Update properties of a metric. The metric's name and metric values cannot be updated.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Metric:ModifyMetric` for the metric to modify.","operationId":"update-metric","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"metric_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the metric to update.","title":"Metric Id"},"description":"The ID of the metric to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__update_metric__Request"}}}},"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{}}}},"404":{"description":"Specified organization or metric is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}},"delete":{"tags":["Metric"],"summary":"Delete a metric","description":"Delete a metric. The metric is no longer modifiable or manually evaluable, but remains stored, and existing services or simulations that evaluate this metric\nwill continue to do so. One can still retrieve it using its ID to view its specifics.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Metric:DeleteMetric` for the metric to delete.","operationId":"delete-metric","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"metric_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the metric to update.","title":"Metric Id"},"description":"The ID of the metric to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{}}}},"404":{"description":"Specified organization or metric is not found."},"400":{"description":"Metric is used in a simulation unit test."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/search/":{"get":{"tags":["Metric"],"summary":"Search metrics","description":"Search for metrics that match the given filters and contain the given query in its name. Only the top 50 results will be returned. The results\nwill be sorted by the relevance of the search query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only metrics that the authenticated user has `Metric:GetMetric` permission for will be retrieved.","operationId":"search-metrics","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any metrics containing the terms in its name would be returned."},"description":"The query to search for. Any metrics containing the terms in its name would be returned."},{"name":"applied_to_service","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the metric is applied to.","default":[],"title":"Applied To Service"},"description":"The IDs of the services that the metric is applied to."},{"name":"type","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/MetricValueType"},"description":"The types of the metrics.","default":[],"title":"Type"},"description":"The types of the metrics."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the metrics. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the metrics. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the metrics. Must be specified using the syntax `key:value`, which means to match all metrics with the given `key` and `value` pair among its tags.\nIf `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the metrics. Must be specified using the syntax `key:value`, which means to match all metrics with the given `key` and `value` pair among its tags.\nIf `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__search_metrics__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/evaluate":{"post":{"tags":["Metric"],"summary":"Evaluate metrics","description":"Evaluate the latest versions of specified metrics for a completed conversation. The results will be stored and retrievable through the [`GetMetricEvaluationResults`](get-metric-evaluation-results)\nendpoint with a special source type of `manual`.\n\nIf the same conversation has been manually evaluated for the same metric, the previous evaluation result will be overwritten.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Metric:GetMetric` for the metrics.\n* `Metric:EvaluateMetric` for the metrics.\n* `Metric:GetMetricEvaluationResult` for the metric results.","operationId":"evaluate-metrics","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__evaluate_metrics__Request"}}}},"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__evaluate_metrics__Response"}}}},"404":{"description":"Specified organization, conversation, or metric is not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"400":{"description":"The conversation has no interactions."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/metric/metric_evaluation_result":{"get":{"tags":["Metric"],"summary":"Get metric evaluation results","description":"Retrieve metric evaluation results that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only metric evaluation results that the authenticated user has `Metric:GetMetricEvaluationResult` permission for will be retrieved.","operationId":"get-metric-evaluation-results","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":0,"description":"The maximum number of metrics to return.","default":500,"title":"Limit"},"description":"The maximum number of metrics to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of metrics.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of metrics."},{"name":"timestamp_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"An ISO8601 timestamp. Only results evaluated on or after this moment is returned.","title":"Timestamp After"},"description":"An ISO8601 timestamp. Only results evaluated on or after this moment is returned."},{"name":"timestamp_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"An ISO8601 timestamp. Only results evaluated on or before this moment is returned.","title":"Timestamp Before"},"description":"An ISO8601 timestamp. Only results evaluated on or before this moment is returned."},{"name":"metric_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The ID of the metric to retrieve.","deprecated":true,"default":[],"title":"Metric Id"},"description":"The ID of the metric to retrieve.","deprecated":true},{"name":"metric_id_and_version","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The metric IDs and their versions to retrieve. Each value must be in the format of `<metric_id>-<version>`. If `version` is left empty, any versions of the metric would be retrieved.","default":[],"title":"Metric Id And Version"},"description":"The metric IDs and their versions to retrieve. Each value must be in the format of `<metric_id>-<version>`. If `version` is left empty, any versions of the metric would be retrieved."},{"name":"source_type","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/EvaluationSourceType"},"description":"The type of the source of the metric evaluation results.","default":[],"title":"Source Type"},"description":"The type of the source of the metric evaluation results."},{"name":"conversation_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"For metric evaluation sources with type `post-session` or `manual`, this field filters the metric evaluation results to only include those that were computed from the given conversation IDs.","default":[],"title":"Conversation Id"},"description":"For metric evaluation sources with type `post-session` or `manual`, this field filters the metric evaluation results to only include those that were computed from the given conversation IDs."},{"name":"simulation_unit_test_set_run_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"For metric evaluation sources with type `simulation`, this field filters the metric evaluation results to only include those that were computed from the given simulation unit test set run IDs.","default":[],"title":"Simulation Unit Test Set Run Id"},"description":"For metric evaluation sources with type `simulation`, this field filters the metric evaluation results to only include those that were computed from the given simulation unit test set run IDs."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the metrics by. Supported fields are `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. \nMultiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the metrics by. Supported fields are `created_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. \nMultiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__metric__get_metric_evaluation_results__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/persona/":{"post":{"tags":["Simulation"],"summary":"Create a simulation persona","description":"Create a simulation persona.\n\n#### Permissions\n* `Simulation:CreateSimulationPersona` for the persona to create.\n* `Simulation:ModifySimulationPersona` for the persona to create.","operationId":"create-simulation-persona","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona__Response"}}}},"404":{"description":"The specified organization was not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A simulation persona with this name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}},"get":{"tags":["Simulation"],"summary":"Get simulation personas","description":"Retrieve simulation personas that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation personas that the authenticated user has `Simulation:GetSimulationPersona` permission for will be retrieved.","operationId":"get-simulation-personas","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation personas to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation personas to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of simulation personas to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation personas to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation personas.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation personas."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation persona is deleted.","title":"Is Deleted"},"description":"Whether the simulation persona is deleted."},{"name":"role","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The roles of the simulation personas.","default":[],"title":"Role"},"description":"The roles of the simulation personas."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation personas to retrieve. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation personas to retrieve. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation personas to retrieve. Each value must be of the format `key:value`. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation personas to retrieve. Each value must be of the format `key:value`. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_personas__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/persona/{simulation_persona_id}/version/":{"post":{"tags":["Simulation"],"summary":"Create a new simulation persona version","description":"Create a new version of the simulation persona.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationPersona` for the simulation persona.","operationId":"create-simulation-persona-version","parameters":[{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to create a version for.","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to create a version for."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":1},{"type":"null"}],"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona_version__Response"}}}},"422":{"description":"Invalid request path parameter, request query parameter, or request body failed validation."},"404":{"description":"The specified organization or simulation persona does not exist."},"400":{"description":"The specified version number is not the expected next version to be created."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}},"get":{"tags":["Simulation"],"summary":"Get simulation persona versions","description":"Retrieve versions of a simulation persona.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:GetSimulationPersona` for the simulation persona.","operationId":"get-simulation-persona-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to get versions for.","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to get versions for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the simulation persona to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","examples":["1","1-latest","2-5","latest"],"title":"Version"},"description":"The versions of the simulation persona to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of simulation persona versions to return.","default":10,"title":"Limit"},"description":"The maximum number of simulation persona versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation persona versions.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation persona versions."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_persona_versions__Response"}}}},"404":{"description":"The specified organization or simulation persona does not exist."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/persona/{simulation_persona_id}/":{"post":{"tags":["Simulation"],"summary":"Update a simulation persona","description":"Update a simulation persona.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationPersona` for the persona to update.","operationId":"update-simulation-persona","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to update","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to update"},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_persona__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization or simulation persona does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}},"delete":{"tags":["Simulation"],"summary":"Delete a simulation persona","description":"Delete a simulation persona. This endpoint only soft-deletes the simulation persona so any existing references to it would still be valid.\nHowever, they cannot be used in any new simulations.\n\nThis endpoint will error if the simulation persona is used in any simulation unit tests.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationPersona` on the simulation persona to delete.","operationId":"delete-simulation-persona","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to delete.","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The specified organization or simulation persona does not exist."},"400":{"description":"The specified simulation persona is used in a simulation unit test."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/scenario/{simulation_scenario_id}/version/":{"get":{"tags":["Simulation"],"summary":"Get simulation scenario versions","description":"Retrieve the versions of a simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n- `Simulation:GetSimulationScenario` for the simulation scenario.","operationId":"get-simulation-scenario-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to get versions for.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to get versions for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the simulation scenario to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","examples":["1","1-latest","2-5","latest"],"title":"Version"},"description":"The versions of the simulation scenario to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of simulation scenario versions to return.","default":10,"title":"Limit"},"description":"The maximum number of simulation scenario versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation scenario version.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation scenario version."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_scenario_versions__Response"}}}},"404":{"description":"The specified organization or simulation scenario does not exist."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}},"post":{"tags":["Simulation"],"summary":"Create a new simulation scenario version","description":"Create a new version of the simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationScenario` for the simulation scenario.","operationId":"create-simulation-scenario-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to create a version for.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to create a version for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":1},{"type":"null"}],"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario_version__Response"}}}},"422":{"description":"Invalid request path parameter, request query parameter, or request body failed validation."},"404":{"description":"The specified organization or simulation scenario does not exist."},"400":{"description":"The specified version number is not the expected next version to be created."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/scenario/":{"post":{"tags":["Simulation"],"summary":"Create a simulation scenario","description":"Create a simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationScenario` for the simulation scenario.\n* `Simulation:ModifySimulationScenario` for the simulation scenario.","operationId":"create-simulation-scenario","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario__Response"}}}},"404":{"description":"The specified organization was not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A simulation scenario with this name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}},"get":{"tags":["Simulation"],"summary":"Get simulation scenarios","description":"Retrieve simulation scenarios that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation scenarios that the authenticated user has `Simulation:GetSimulationScenario` permission for will be retrieved.","operationId":"get-simulation-scenarios","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation scenarios to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation scenarios to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":0,"description":"The maximum number of simulation scenarios to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation scenarios to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation scenarios.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation scenarios."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation scenario is deleted.","title":"Is Deleted"},"description":"Whether the simulation scenario is deleted."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means to match any value. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means to match any value. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_scenarios__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 200 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/scenario/{simulation_scenario_id}/":{"post":{"tags":["Simulation"],"summary":"Update a simulation scenario","description":"Update a simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationScenario` on the simulation scenario.","operationId":"update-simulation-scenario","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to update.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_scenario__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization or simulation scenario does not exist."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}},"delete":{"tags":["Simulation"],"summary":"Delete a simulation scenario","description":"Delete a simulation scenario. This endpoint only soft-deletes the simulation scenario so any existing references to it would still be valid.\nHowever, they cannot be used in any new simulations.\n\nThis endpoint will error if the simulation scenario is used in any simulation unit tests.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationScenario` on the simulation scenario to delete.","operationId":"delete-simulation-scenario","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to delete.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded"},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The specified organization or simulation scenario does not exist."},"400":{"description":"The specified simulation scenario is used in a simulation unit test."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/persona/search":{"get":{"tags":["Simulation"],"summary":"Search simulation personas","description":"Search for simulation personas that match the given filters and contain the given query in its name and the background of its latest version. Only the top 50 results will be returned. The results\nwill be sorted by the relevance of the search query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation personas that the authenticated user has `Simulation:GetSimulationPersona` permission for will be retrieved.","operationId":"search-simulation-personas","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation personas containing the terms in its name and the background of its latest version would be returned."},"description":"The query to search for. Any simulation personas containing the terms in its name and the background of its latest version would be returned."},{"name":"role","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The roles of the simulation personas.","default":[],"title":"Role"},"description":"The roles of the simulation personas."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation personas. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation personas. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation personas. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation personas. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_personas__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/scenario/search":{"get":{"tags":["Simulation"],"summary":"Search simulation scenarios","description":"Search for simulation scenarios that match the given filters and contain the given query in its name. Only the top 50 results will be returned. The results\nwill be sorted by the relevance of the search query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation scenarios that the authenticated user has `Simulation:GetSimulationScenario` permission for will be retrieved.","operationId":"search-simulation-scenarios","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation scenarios containing the terms in its name would be returned."},"description":"The query to search for. Any simulation scenarios containing the terms in its name would be returned."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_scenarios__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test/":{"post":{"tags":["Simulation"],"summary":"Create a simulation unit test","description":"Create a new simulation unit test.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationUnitTest` for the unit test to create.","operationId":"create-simulation-unit-test","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test__Response"}}}},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A unit test with this name already exists."},"404":{"description":"The specified organization, service, persona, scenario, metric, or service version set was not found."},"400":{"description":"The metric type of the success criterion does not match the metric type of the metric."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}},"get":{"tags":["Simulation"],"summary":"Get simulation unit tests","description":"Retrieve the simulation unit tests that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit tests that the authenticated user has `Simulation:GetSimulationUnitTest` permission for will be retrieved.","operationId":"get-simulation-unit-tests","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation unit tests to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation unit tests to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":0,"description":"The maximum number of simulation unit tests to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation unit tests to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation unit tests.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation unit tests."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test is deleted.","title":"Is Deleted"},"description":"Whether the simulation unit test is deleted."},{"name":"service_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the simulation unit tests run on.","default":[],"title":"Service Id"},"description":"The IDs of the services that the simulation unit tests run on."},{"name":"persona_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the personas that the simulation unit tests use.","default":[],"title":"Persona Id"},"description":"The IDs of the personas that the simulation unit tests use."},{"name":"scenario_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the scenarios that the simulation unit tests use.","default":[],"title":"Scenario Id"},"description":"The IDs of the scenarios that the simulation unit tests use."},{"name":"metric_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the metrics that the simulation unit tests use.","default":[],"title":"Metric Id"},"description":"The IDs of the metrics that the simulation unit tests use."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_tests__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 200 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test/{simulation_unit_test_id}/":{"post":{"tags":["Simulation"],"summary":"Update a simulation unit test","description":"Modify the specified simulation unit test.\n\n#### Permissions\n* `Simulation:ModifySimulationUnitTest` for the unit test to update.","operationId":"update-simulation-unit-test","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test to update.","title":"Simulation Unit Test Id"},"description":"The ID of the simulation unit test to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_unit_test__Request"}}}},"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter or request body failed validation."},"404":{"description":"The specified organization, simulation unit test, service, persona, scenario, metric, or service version set was not found."},"400":{"description":"The metric type of the success criterion does not match the metric type of the metric."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}},"delete":{"tags":["Simulation"],"summary":"Delete a simulation unit test","description":"Delete a simulation unit test. The unit test is soft-deleted and all references to it are still valid. Any scheduled unit test runs\nwould still continue as expected, but no new run can be created.\n\nThis endpoint will error if the simulation unit test is used in any simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationUnitTest` for the simulation unit test to delete.","operationId":"delete-simulation-unit-test","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test to delete.","title":"Simulation Unit Test Id"},"description":"The ID of the simulation unit test to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The specified organization or simulation unit test was not found or is inactive."},"400":{"description":"The specified simulation unit test is used in a simulation unit test set."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test/search/":{"get":{"tags":["Simulation"],"summary":"Search simulation unit tests","description":"Search for simulation unit tests that match the given filters and whose name or description contains the specified query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit tests that the authenticated user has `Simulation:GetSimulationUnitTest` permission for will be retrieved.","operationId":"search-simulation-unit-tests","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation unit tests containing the terms in its name would be returned."},"description":"The query to search for. Any simulation unit tests containing the terms in its name would be returned."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"service_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the simulation unit tests run on.","default":[],"title":"Service Id"},"description":"The IDs of the services that the simulation unit tests run on."},{"name":"persona_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the personas that the simulation unit tests use.","default":[],"title":"Persona Id"},"description":"The IDs of the personas that the simulation unit tests use."},{"name":"scenario_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the scenarios that the simulation unit tests use.","default":[],"title":"Scenario Id"},"description":"The IDs of the scenarios that the simulation unit tests use."},{"name":"metric_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the metrics that the simulation unit tests use.","default":[],"title":"Metric Id"},"description":"The IDs of the metrics that the simulation unit tests use."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_unit_tests__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test_set/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit test sets","description":"Retrieve the simulation unit test sets that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit test sets that the authenticated user has `Simulation:GetSimulationUnitTestSet` permission for will be retrieved.","operationId":"get-simulation-unit-test-sets","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation unit test sets to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation unit test sets to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":0,"description":"The maximum number of simulation unit test sets to return.","default":20,"title":"Limit"},"description":"The maximum number of simulation unit test sets to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation unit test sets.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation unit test sets."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set is deleted.","title":"Is Deleted"},"description":"Whether the simulation unit test set is deleted."},{"name":"unit_test_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the unit tests that are part of the simulation unit test sets.","default":[],"title":"Unit Test Id"},"description":"The IDs of the unit tests that are part of the simulation unit test sets."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit test sets.","default":[],"title":"Creator"},"description":"The creators of the simulation unit test sets."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_sets__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}},"post":{"tags":["Simulation"],"summary":"Create a simulation unit test set","description":"Create a new simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationUnitTestSet` for the simulation unit test set.","operationId":"create-simulation-unit-test-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set__Response"}}}},"404":{"description":"The specified organization or unit test was not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A simulation unit test set with the same name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test_set/search/":{"get":{"tags":["Simulation"],"summary":"Search simulation unit test sets","description":"Search for simulation unit test sets that match the given filters and whose name or description contains the specified query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit test sets that the authenticated user has `Simulation:GetSimulationUnitTestSet` permission for will be retrieved.","operationId":"search-simulation-unit-test-sets","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation unit test sets containing the terms in its name or description would be returned."},"description":"The query to search for. Any simulation unit test sets containing the terms in its name or description would be returned."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit test sets. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit test sets. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"unit_test_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the unit tests that are part of the simulation unit test sets.","default":[],"title":"Unit Test Id"},"description":"The IDs of the unit tests that are part of the simulation unit test sets."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_unit_test_set__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test_set/{simulation_unit_test_set_id}":{"post":{"tags":["Simulation"],"summary":"Update a simulation unit test set","description":"Update a simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationUnitTestSet` for the simulation unit test set.","operationId":"update-simulation-unit-test-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set to update.","title":"Simulation Unit Test Set Id"},"description":"The ID of the simulation unit test set to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_unit_test_set__Request"}}}},"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization or simulation unit test set was not found"},"422":{"description":"Invalid request path parameter or request body failed validation."},"409":{"description":"A simulation unit test set with this name already exists."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}},"delete":{"tags":["Simulation"],"summary":"Delete a simulation unit test set","description":"Delete a simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationUnitTestSet` for the simulation unit test set.","operationId":"delete-simulation-unit-test-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set to delete.","title":"Simulation Unit Test Set Id"},"description":"The ID of the simulation unit test set to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"422":{"description":"Invalid request path parameter failed validation."},"404":{"description":"The specified organization or simulation unit test set was not found"},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test_set_run/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit test set runs","description":"Retrieves simulation unit test set runs.\n\nThis endpoint may be impacted by the following permissions:\n* Only the runs that the authenticated user has the `Simulation:GetSimulationUnitTestSetRun` permission for will be returned.\n* The `unit_test_run_specs` and `unit_test_run_results` fields are only populated if the authenticated user has the `Simulation:GetSimulationUnitTestSet` permission.\n* The fields `scenario_version_info`, `persona_version_info`, `metrics_to_evaluate` in `unit_test_run_specs` and the field `metric_evaluation_results` in `unit_test_run_results` are only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission.","operationId":"get-simulation-unit-test-set-runs","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The ID of the simulation unit test set run to retrieve.","default":[],"title":"Id"},"description":"The ID of the simulation unit test set run to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of simulation unit test set runs to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation unit test set runs to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation unit test set runs.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation unit test set runs."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit test set runs to retrieve. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit test set runs to retrieve. Each value must be of the format `org_id,user_id`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `created_at`.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `created_at`."},{"name":"simulation_unit_test_set_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation unit test sets that the simulation unit test set runs belong to.","default":[],"title":"Simulation Unit Test Set Id"},"description":"The IDs of the simulation unit test sets that the simulation unit test set runs belong to."},{"name":"is_completed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set run is completed.","title":"Is Completed"},"description":"Whether the simulation unit test set run is completed."},{"name":"failed_metrics","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set run has failed due to failing metrics. Note that this field could be `True` even if the run is still ongoing -- it simply means some unit test runs have failed.","title":"Failed Metrics"},"description":"Whether the simulation unit test set run has failed due to failing metrics. Note that this field could be `True` even if the run is still ongoing -- it simply means some unit test runs have failed."},{"name":"errored","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set run has encountered an error.","title":"Errored"},"description":"Whether the simulation unit test set run has encountered an error."},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter for simulation unit test set runs created at or after this time (inclusive).","title":"Created After"},"description":"Filter for simulation unit test set runs created at or after this time (inclusive)."},{"name":"created_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter for simulation unit test set runs created at or before this time (inclusive).","title":"Created Before"},"description":"Filter for simulation unit test set runs created at or before this time (inclusive)."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}},"post":{"tags":["Simulation"],"summary":"Create a simulation unit test set run","description":"Create a run for a simulation unit test set. The user must not already have an unfinished run for this simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationUnitTestSetRun` for the test set run.","operationId":"create-simulation-unit-test-set-run","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set_run__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set_run__Response"}}}},"404":{"description":"The specified organization or simulation unit test set was not found."},"409":{"description":"The user already has an unfinished run for this simulation unit test set."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test_set_run/{simulation_unit_test_set_run_id}/artifacts/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit test set run artifacts","description":"Get the artifacts of a simulation unit test set run. A link to the raw artifacts in S3 is returned.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:GetSimulationUnitTestSetRun` for the simulation unit test set run.\n* `Organization:GetServiceHierarchicalStateMachine` for the state machine that the simulation uses.","operationId":"get-simulation-unit-test-set-run-artifacts","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_run_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set run to retrieve the artifacts of.","title":"Simulation Unit Test Set Run Id"},"description":"The ID of the simulation unit test set run to retrieve the artifacts of."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_set_run_artifacts__Response"}}}},"404":{"description":"Specified organization or unit test set run is not found."},"422":{"description":"Invalid request path parameter failed validation."},"400":{"description":"The artifacts for the unit test set run are not yet available for retrieval"},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."}}}},"/v1/{organization}/simulation/unit_test_set_run/{simulation_unit_test_set_run_id}/":{"delete":{"tags":["Simulation"],"summary":"Cancel a simulation unit test set run","description":"Cancel a simulation unit test set run. The run must still be in progress. This cancellation is a best-effort operation, and there's no guarantee that it'll take effect\nimmediately.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CancelSimulationUnitTestSetRun` for the authenticated user.","operationId":"cancel-simulation-unit-test-set-run","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_run_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set run to cancel.","title":"Simulation Unit Test Set Run Id"},"description":"The ID of the simulation unit test set run to cancel."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization or simulation unit test set run was not found."},"409":{"description":"The simulation unit test set run is not in progress."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/amigo_tool_scaffold.tar.gz":{"get":{"tags":["Tool"],"summary":"Get the latest tool scaffold release","operationId":"get-tool-scaffold-release","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/gzip":{"schema":{"type":"string"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/":{"post":{"tags":["Tool"],"summary":"Create a new tool","description":"Create a new tool. The tool will not contain any versions initially so is not usable until at least one version is published.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:CreateTool` for the tool to create.","operationId":"create-tool","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__create_tool__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__create_tool__Response"}}}},"404":{"description":"The specified organization does not exist."},"409":{"description":"A tool with the same name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"400":{"description":"The tool name is too long."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}},"get":{"tags":["Tool"],"summary":"Get tools","operationId":"get-tools","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the tools to retrieve.","default":[],"title":"Id"},"description":"The IDs of the tools to retrieve."},{"name":"deprecated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the tools are deprecated.","title":"Deprecated"},"description":"Whether the tools are deprecated."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `name` and `deprecated`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `name` and `deprecated`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation personas. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation personas. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"exclusiveMinimum":0,"description":"The maximum number of tools to return.","default":10,"title":"Limit"},"description":"The maximum number of tools to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of tools.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of tools."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__get_tools__Response"}}}},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/{tool_id}/version/{versions}":{"delete":{"tags":["Tool"],"summary":"Deprecate tool versions","description":"Deprecate tool versions that match the specified semver constraint.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:ModifyTool` on the tool whose versions to deprecate.","operationId":"deprecate-tool-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to deprecate.","title":"Tool Id"},"description":"The ID of the tool to deprecate."},{"name":"versions","in":"path","required":true,"schema":{"type":"string","description":"A semver constraint that specifies the version to deprecate in the [Python packaging specification](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5). All versions that match this constraint will be deprecated.","title":"Versions"},"description":"A semver constraint that specifies the version to deprecate in the [Python packaging specification](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5). All versions that match this constraint will be deprecated."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization or tool does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/{tool_id}":{"delete":{"tags":["Tool"],"summary":"Deprecate a tool","description":"Deprecate the specified tool. All versions of the tool will be deprecated and the tool will no longer be used.\n\nAfter the endpoint concludes, the deprecation will take around 1 minute to propagate across the system.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:DeleteTool` on the tool to deprecate.","operationId":"deprecate-tool","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to deprecate.","title":"Tool Id"},"description":"The ID of the tool to deprecate."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization or tool does not exist."},"409":{"description":"A related operation is in progress."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}},"post":{"tags":["Tool"],"summary":"Modify a tool","description":"Modify basic properties of a tool, such as its description and tags.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:ModifyTool` for the tool to modify.","operationId":"modify-tool","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to modify","title":"Tool Id"},"description":"The ID of the tool to modify"},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__modify_tool__Request"}}}},"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization or tool does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/test":{"post":{"tags":["Tool"],"summary":"Test a tool","operationId":"test-tool","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__test_tool__Request"}}}},"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__test_tool__Response"}}}},"404":{"description":"The specified organization or tool commit does not exist."},"400":{"description":"This error can occur due to the following reasons:\n            * An environment variable is specified as both secret and non-secret.\n            * The specified tool commit failed CI checks.\n            * Required environment variables in the tool are not declared in the reqeust.\n            * Input parameters do not conform to the tool's input schema.\n            * Tool build failed.\n            "},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 1 request per minute for this endpoint."}}}},"/v1/{organization}/tool/{tool_id}/envvar":{"post":{"tags":["Tool"],"summary":"Modify the environment variables of a tool","description":"Add, update, or delete the environment variables of a tool. Environment variables must be present in the tool before any versions requiring them can be published.\n\nYou cannot delete variables that are required by non-deprecated tool versions.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:ModifyTool` for the tool whose environment variables to modify.","operationId":"modify-tool-envvars","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to modify","title":"Tool Id"},"description":"The ID of the tool to modify"},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__modify_tool_envvars__Request"}}}},"responses":{"204":{"description":"Succeeded."},"404":{"description":"The specified organization or tool does not exist."},"409":{"description":"An environment variable with the same name as the one to insert exists or has been recently deleted."},"400":{"description":"The specified environment variables to update or delete do not exist, or the environment variables to delete are used by non-deprecated tool versions."},"422":{"description":"Invalid request body or request path parameter."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/{tool_id}/version":{"post":{"tags":["Tool"],"summary":"Publish a new version of a tool","description":"Publish a new version of the specified tool. After this endpoint finishes, the new version will be immediately available for use.\n\nThis endpoint will take roughly 1-5 minutes to complete, so please adjust the timeout settings of your HTTP client accordingly.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:ModifyTool` for the tool.","operationId":"publish-tool-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to publish","title":"Tool Id"},"description":"The ID of the tool to publish"},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__publish_tool_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__publish_tool_version__Response"}}}},"404":{"description":"The specified organization, tool, commit, or project directory does not exist."},"400":{"description":"Specified commit is older than the last valid commit, or the environment variables required by the tool version do not exist on the tool, or more than 3 active versions of the tool exist, or tool build has failed."},"409":{"description":"A related operation is in progress."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}},"get":{"tags":["Tool"],"summary":"Get tool versions","operationId":"get-tool-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to retrieve versions for.","title":"Tool Id"},"description":"The ID of the tool to retrieve versions for."},{"name":"deprecated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether to filter by deprecated tool versions.","title":"Deprecated"},"description":"Whether to filter by deprecated tool versions."},{"name":"versions","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"A semver constraint that specifies the versions to retrieve.","title":"Versions"},"description":"A semver constraint that specifies the versions to retrieve."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `created_at`, `version.major`, `version.minor`, `version.patch`, and `deprecated`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.    ","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `created_at`, `version.major`, `version.minor`, `version.patch`, and `deprecated`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.    "},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the tool versions. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the tool versions. Each value must be of the format `org_id,user_id`."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of tool versions to return.","default":50,"title":"Limit"},"description":"The maximum number of tool versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of tool versions.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of tool versions."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__get_tool_versions__Response"}}}},"404":{"description":"Specified organization or tool is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/invocation":{"get":{"tags":["Tool"],"summary":"Get tool invocations","description":"Retrieve tool invocations under the specified filters.\n\n#### Permissions\nThis endpoint may require the following permission:\n* `Conversation:GetInteractionInsights` for `ToolInvocation`s from a regular conversation.\n* `Simulation:GetSimulationUnitTestSetRun` for `ToolInvocation`s from a simulation conversation.","operationId":"get-tool-invocations","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the tools to get invocations for.","default":[],"title":"Tool Id"},"description":"The IDs of the tools to get invocations for."},{"name":"version","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"A list of semver constraints that specifies the versions to retrieve in the [Python packaging specification](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5). This must be the exact same length as `tool_id`, and each entry corresponds to the tool ID at the same index.","default":[],"title":"Version"},"description":"A list of semver constraints that specifies the versions to retrieve in the [Python packaging specification](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5). This must be the exact same length as `tool_id`, and each entry corresponds to the tool ID at the same index."},{"name":"invocation_source_type","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"enum":["regular-conversation","simulation-conversation"],"type":"string"},"description":"The source types of the invocations.","default":[],"title":"Invocation Source Type"},"description":"The source types of the invocations."},{"name":"conversation_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The conversation IDs associated with the invocations if they are of invocation source `regular-conversation`.","default":[],"title":"Conversation Id"},"description":"The conversation IDs associated with the invocations if they are of invocation source `regular-conversation`."},{"name":"simulation_unit_test_set_run_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The simulation unit test set run IDs associated with the invocations if they are of invocation source `simulation-conversation`.","default":[],"title":"Simulation Unit Test Set Run Id"},"description":"The simulation unit test set run IDs associated with the invocations if they are of invocation source `simulation-conversation`."},{"name":"succeeded","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the invocation succeeded.","title":"Succeeded"},"description":"Whether the invocation succeeded."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":0,"description":"The maximum number of tool invocations to retrieve.","default":100,"title":"Limit"},"description":"The maximum number of tool invocations to retrieve."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The token from the previous request to return the next page of tool invocations.","default":0,"title":"Continuation Token"},"description":"The token from the previous request to return the next page of tool invocations."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `created_at`, `version.major`, `version.minor`, `version.patch`, `tool_id`, `invocation_source.type`, and `invocation_status.succeeded`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `created_at`, `version.major`, `version.minor`, `version.patch`, `tool_id`, `invocation_source.type`, and `invocation_status.succeeded`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__get_tool_invocations__Response"}}}},"404":{"description":"Specified organization does not exist."},"400":{"description":"The `tool_id` and `version` query parameters are not the same length."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/{tool_id}/version/{version}/invoke":{"post":{"tags":["Tool"],"summary":"Invoke a tool version","description":"Invoke a specified tool version with the given input parameters.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Tool:InvokeTool` for the tool to invoke.","operationId":"invoke-tool-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the tool to invoke","title":"Tool Id"},"description":"The ID of the tool to invoke"},{"name":"version","in":"path","required":true,"schema":{"type":"string","description":"The version of the tool to invoke","title":"Version"},"description":"The version of the tool to invoke"},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__invoke_tool_version__Request"}}}},"responses":{"200":{"description":"Succeeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__invoke_tool_version__Response"}}}},"404":{"description":"The specified organization, tool, or tool version does not exist."},"400":{"description":"The input parameters do not conform to the tool's input schema."},"422":{"description":"Invalid request path parameter or request body failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."}}}},"/v1/{organization}/tool/invocation/search":{"get":{"tags":["Tool"],"summary":"Search tool invocations","operationId":"search-tool-invocations","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"type":"string","description":"The search query.","title":"Query"},"description":"The search query."},{"name":"query_against","in":"query","required":true,"schema":{"type":"array","uniqueItems":true,"items":{"enum":["invocation_status.exception_message","invocation_status.exception_type","invocation_status.exception_stack_trace","invocation_status.output"],"type":"string"},"minItems":1,"description":"The fields to query against. By default, all supported fields are queried against.","title":"Query Against"},"description":"The fields to query against. By default, all supported fields are queried against."},{"name":"tool_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the tools to get invocations for.","default":[],"title":"Tool Id"},"description":"The IDs of the tools to get invocations for."},{"name":"invocation_source_type","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"enum":["regular-conversation","simulation-conversation"],"type":"string"},"description":"The source of the invocation.","default":[],"title":"Invocation Source Type"},"description":"The source of the invocation."},{"name":"conversation_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The conversation ID associated with the invocation if it's of invocation source `regular-conversation`.","default":[],"title":"Conversation Id"},"description":"The conversation ID associated with the invocation if it's of invocation source `regular-conversation`."},{"name":"simulation_unit_test_set_run_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The simulation unit test set run ID associated with the invocation if it's of invocation source `simulation-conversation`.","default":[],"title":"Simulation Unit Test Set Run Id"},"description":"The simulation unit test set run ID associated with the invocation if it's of invocation source `simulation-conversation`."},{"name":"succeeded","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the invocation succeeded.","title":"Succeeded"},"description":"Whether the invocation succeeded."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__tool__search_tool_invocations__Response"}}}},"404":{"description":"The organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"503":{"description":"The service is going through temporary maintenance."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."}}}}},"components":{"schemas":{"APIKeyInstance":{"properties":{"_id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The name of the API key."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The UTC time at which this key was created."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The UTC time at which this key was last updated."},"key_id":{"type":"string","title":"Key Id","description":"The ID of the API key. Instead of the key's Mongo ID, this UUID is used as the identifier for the key for backwards compatibility reasons."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"The UTC time at which this key will expire."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__api_key__APIKey__UserInfo","description":"The user who created this key."},"role_id":{"type":"string","title":"Role Id","description":"The role ID of the creator of this key."}},"type":"object","required":["_id","name","org_id","created_at","updated_at","key_id","expires_at","creator","role_id"],"title":"APIKeyInstance"},"ActionState-Input":{"properties":{"type":{"type":"string","const":"action","title":"Type"},"name":{"$ref":"#/components/schemas/StateOrRefName"},"objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"actions":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","minItems":1,"title":"Actions"},"intra_state_navigation_guidelines":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Intra State Navigation Guidelines"},"action_guidelines":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Action Guidelines"},"boundary_constraints":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Boundary Constraints"},"exit_conditions":{"items":{"$ref":"#/components/schemas/ExitCondition-Input"},"type":"array","title":"Exit Conditions"},"action_tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec"},"type":"array","title":"Action Tool Call Specs"},"exit_condition_tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec"},"type":"array","title":"Exit Condition Tool Call Specs"},"skip_active_memory_retrieval":{"type":"boolean","title":"Skip Active Memory Retrieval","description":"If `True`, the agent will not perform active memory retrieval at the start of an interaction in this state."}},"type":"object","required":["type","name","objective","actions","intra_state_navigation_guidelines","action_guidelines","boundary_constraints","exit_conditions","action_tool_call_specs","exit_condition_tool_call_specs","skip_active_memory_retrieval"],"title":"ActionState"},"ActionState-Output":{"properties":{"type":{"type":"string","const":"action","title":"Type"},"name":{"type":"string","title":"Name","description":"The name of this state."},"objective":{"type":"string","title":"Objective","description":"The objective that the `Agent` works towards when in this state."},"actions":{"items":{"type":"string"},"type":"array","title":"Actions","description":"A list of specific actions that the `Agent` performs in this state."},"intra_state_navigation_guidelines":{"items":{"type":"string"},"type":"array","title":"Intra State Navigation Guidelines","description":"A list of guidelines for how the agent will navigate between subgoals and exit conditions within this state."},"action_guidelines":{"items":{"type":"string"},"type":"array","title":"Action Guidelines","description":"A list of guidelines for how the agent will behave when engaging with user."},"boundary_constraints":{"items":{"type":"string"},"type":"array","title":"Boundary Constraints","description":"A list of guidelines for how the agent will not behave when engaging with user."},"exit_conditions":{"items":{"$ref":"#/components/schemas/ExitCondition-Output"},"type":"array","title":"Exit Conditions","description":"A list of exit conditions for this state that describes under what condition would the session be allowed to transition to another state."},"action_tool_call_specs":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec"},"type":"array","title":"Action Tool Call Specs","description":"A list of tool calls that the agent can make in this state when executing an action."},"exit_condition_tool_call_specs":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec"},"type":"array","title":"Exit Condition Tool Call Specs","description":"A list of tool calls that the agent can make in this state when evaluating exit conditions."},"skip_active_memory_retrieval":{"type":"boolean","title":"Skip Active Memory Retrieval","description":"If `True`, the agent will not perform active memory retrieval at the start of an interaction in this state."}},"type":"object","required":["type","name","objective","actions","intra_state_navigation_guidelines","action_guidelines","boundary_constraints","exit_conditions","action_tool_call_specs","exit_condition_tool_call_specs","skip_active_memory_retrieval"],"title":"ActionState","description":"A state associated with an objective and a list of actions. The `Agent` will perform these actions towards achieving the objective. The session\nmay transition to a different state if any of the exit conditions are met, in which case the session proceeds to the next state specified in the\nexit condition. If no exit conditions are met, the session remains in this state."},"ActionStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"action","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"action"},"previous_state_exit_condition_description":{"type":"string","title":"Previous State Exit Condition Description","description":"The description of the exit condition that led to the transition to the next state."},"tool_call_logs":{"items":{"items":{"$ref":"#/components/schemas/ToolCallLog"},"type":"array"},"type":"array","title":"Tool Call Logs","description":"A list of tool call logs that were performed during the `SelectNextAction` LLM call during this state."}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info","previous_state_exit_condition_description","tool_call_logs"],"title":"ActionStateTransitionLog"},"ActionTooLongEvent":{"properties":{"type":{"type":"string","const":"action-too-long","title":"Type","default":"action-too-long"},"filler":{"type":"string","title":"Filler","description":"A filler that can be played while waiting for the action to complete. If the audio filler exists, this is monochannel, 16-bit PCM WAV audio (at sample rate 16kHz) encoded in base64 encoding.\nOtherwise, this is the text corresponding to the audio filler."},"previously_started_event":{"title":"Previously Started Event","description":"The previously started event that is taking too long."}},"type":"object","required":["filler","previously_started_event"],"title":"ActionTooLongEvent","description":"Indicating that a previously-started action of the agent is taking too long. This event supplies a filler text that can be displayed\nwhile waiting for the action to complete."},"AgentFrameworkInvocationMetadata":{"oneOf":[{"$ref":"#/components/schemas/StateTransitionInvocationMetadata"},{"$ref":"#/components/schemas/EngageUserInvocationMetadata"},{"$ref":"#/components/schemas/ToolCallStateInvocationMetadata"}],"discriminator":{"propertyName":"type","mapping":{"engage-user":"#/components/schemas/EngageUserInvocationMetadata","state-transition":"#/components/schemas/StateTransitionInvocationMetadata","tool-call-state":"#/components/schemas/ToolCallStateInvocationMetadata"}}},"AnnotationState-Input":{"properties":{"type":{"type":"string","const":"annotation","title":"Type"},"name":{"$ref":"#/components/schemas/StateOrRefName"},"inner_thought":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"next_state":{"anyOf":[{"$ref":"#/components/schemas/StateOrRefName"},{"prefixItems":[{"$ref":"#/components/schemas/ExternalStateName"},{"$ref":"#/components/schemas/StateOrRefName"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State"}},"type":"object","required":["type","name","inner_thought","next_state"],"title":"AnnotationState"},"AnnotationState-Output":{"properties":{"type":{"type":"string","const":"annotation","title":"Type"},"name":{"type":"string","title":"Name","description":"The name of this state."},"inner_thought":{"type":"string","title":"Inner Thought","description":"The inner thought to add to the conversation."},"next_state":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State","description":"The state to transition to after the inner thought message is generated. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph."}},"type":"object","required":["type","name","inner_thought","next_state"],"title":"AnnotationState","description":"A passthrough state in which the agent adds a pre-determined inner thought message before continuing."},"AnnotationStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"annotation","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"annotation"},"inner_thought_message_id":{"type":"string","title":"Inner Thought Message Id","description":"The identifier of the inserted inner thought message."}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info","inner_thought_message_id"],"title":"AnnotationStateTransitionLog"},"BooleanMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"},"expected_value":{"type":"boolean","title":"Expected Value"}},"type":"object","required":["type","expected_value"],"title":"BooleanMetricSuccessCriterion"},"BooleanMetricValue":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"}},"type":"object","required":["type"],"title":"BooleanMetricValue"},"CategoricalMetricSuccessCriterion-Input":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","minItems":1,"title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"},"CategoricalMetricSuccessCriterion-Output":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"type":"string"},"type":"array","title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"},"CategoricalMetricValue-Input":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"categories":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":50,"minItems":1,"title":"Categories"}},"type":"object","required":["type","categories"],"title":"CategoricalMetricValue"},"CategoricalMetricValue-Output":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories"}},"type":"object","required":["type","categories"],"title":"CategoricalMetricValue"},"ChangeToolCandidatesAction-Output":{"properties":{"type":{"type":"string","const":"change-tool-candidates","title":"Type"},"tool_call_specs":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__dynamic_behavior_set_version__DynamicBehaviorSetVersion__ChangeToolCandidatesAction__ToolCallSpec"},"type":"array","title":"Tool Call Specs","description":"Additional tool call specs that will be made available to LLMs."},"overrides_existing_tool_call_specs":{"type":"boolean","title":"Overrides Existing Tool Call Specs","description":"During injection, whether the existing tool call specs are overriden with these new specs."}},"type":"object","required":["type","tool_call_specs","overrides_existing_tool_call_specs"],"title":"ChangeToolCandidatesAction"},"CheckIfActiveMemoryNeededAgentActionEvent":{"properties":{"type":{"type":"string","const":"check-if-active-memory-needed-completed","title":"Type","default":"check-if-active-memory-needed-completed"},"queries":{"items":{"type":"string"},"type":"array","title":"Queries"}},"type":"object","required":["queries"],"title":"CheckIfActiveMemoryNeededCompletedEvent"},"Column":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the column."},"type":{"type":"string","title":"Type","description":"The data type of the column."}},"type":"object","required":["name","type"],"title":"Column"},"Condition":{"oneOf":[{"$ref":"#/components/schemas/EqualCondition"},{"$ref":"#/components/schemas/InCondition"},{"$ref":"#/components/schemas/NotEqualCondition"}],"discriminator":{"propertyName":"type","mapping":{"Equals":"#/components/schemas/EqualCondition","In":"#/components/schemas/InCondition","NotEquals":"#/components/schemas/NotEqualCondition"}}},"ConversationCreatedEvent":{"properties":{"type":{"type":"string","const":"conversation-created","title":"Type","default":"conversation-created"},"conversation_id":{"type":"string","title":"Conversation Id","description":"The identifier of the newly created conversation."}},"type":"object","required":["conversation_id"],"title":"ConversationCreatedEvent","description":"Emitted when the conversation is created."},"ConversationEvent":{"anyOf":[{"$ref":"#/components/schemas/InteractionCompleteEvent"},{"$ref":"#/components/schemas/NewMessageEvent"},{"$ref":"#/components/schemas/CurrentAgentActionEvent"}]},"ConversationInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier of the conversation."},"user_id":{"type":"string","title":"User Id","description":"The identifier of the user who started this conversation."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp at which this conversation was started."},"is_finished":{"type":"boolean","title":"Is Finished","description":"Whether the conversation is finished."},"is_analyzed":{"type":"boolean","title":"Is Analyzed","description":"Whether the conversation has gone through the post-conversation analysis after finishing."},"completed_post_processings":{"items":{"$ref":"#/components/schemas/PostAnalysisType"},"type":"array","title":"Completed Post Processings","description":"A list of post-processing types that have been completed for this conversation."},"final_message":{"type":"string","title":"Final Message","description":"The most recent message from the conversation.\n\nThis field is empty if the authenticated user has no `Conversation:GetMessage` permission on the final message."},"service_id":{"type":"string","title":"Service Id","description":"The ID of the service that this conversation uses."},"version_set_info":{"anyOf":[{"$ref":"#/components/schemas/VersionSetInfo"},{"type":"null"}],"description":"Info of the service version set that this conversation uses. This field is only populated if the authenticated user has the `Service.GetVersionSet` permission on the version set."},"num_messages":{"type":"integer","title":"Num Messages","description":"The number of messages in this conversation."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags associated with this conversation."}},"type":"object","required":["id","user_id","created_at","is_finished","is_analyzed","completed_post_processings","final_message","service_id","version_set_info","num_messages","tags"],"title":"ConversationInstance"},"CurrentAgentActionEvent":{"properties":{"type":{"type":"string","const":"current-agent-action","title":"Type","default":"current-agent-action"},"action":{"$ref":"#/components/schemas/src__app__amigo__service__conversation__Action","description":"The type of action the agent is performing right now."}},"type":"object","required":["action"],"title":"CurrentAgentActionEvent","description":"Emitted when an agent is about to perform an action that aids in the generation of the response. This is emitted before any\n`NewMessageEvent` is emitted."},"DecisionState-Input":{"properties":{"type":{"type":"string","const":"decision","title":"Type"},"name":{"$ref":"#/components/schemas/StateOrRefName"},"exit_conditions":{"items":{"$ref":"#/components/schemas/ExitCondition-Input"},"type":"array","title":"Exit Conditions"},"decision_guidelines":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Decision Guidelines"},"objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec"},"type":"array","title":"Tool Call Specs"},"audio_fillers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":5,"title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the `select-next-state-for-decision-state` prompt is taking too long to process."},"audio_filler_triggered_after":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."}},"type":"object","required":["type","name","exit_conditions","decision_guidelines","objective","tool_call_specs","audio_fillers","audio_filler_triggered_after"],"title":"DecisionState"},"DecisionState-Output":{"properties":{"type":{"type":"string","const":"decision","title":"Type"},"name":{"type":"string","title":"Name","description":"The name of this state."},"exit_conditions":{"items":{"$ref":"#/components/schemas/ExitCondition-Output"},"type":"array","title":"Exit Conditions","description":"A list of exit conditions for this state that describes under what condition would the session be allowed to transition to another state."},"decision_guidelines":{"items":{"type":"string"},"type":"array","title":"Decision Guidelines","description":"A list of action guidelines that the `Agent` follows when in this state for making a decision."},"objective":{"type":"string","title":"Objective","description":"The objective that the `Agent` works towards when in this state."},"tool_call_specs":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec"},"type":"array","title":"Tool Call Specs","description":"A list of tool calls that the agent can make in this state."},"audio_fillers":{"items":{"type":"string"},"type":"array","title":"Audio Fillers","description":"A list of audio fillers to play in the audio mode if the `select-next-state-for-decision-state` prompt is taking too long to process."},"audio_filler_triggered_after":{"type":"number","title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."}},"type":"object","required":["type","name","exit_conditions","decision_guidelines","objective","tool_call_specs","audio_fillers","audio_filler_triggered_after"],"title":"DecisionState","description":"A passthrough state in which the `Agent` must decide, among a list of exit conditions, one that the session has satisfied, and transitions to the next\nstate associated with that exit condition. This is different from an `ActionState` in that there's no actions to perform, and the session must transition\nto another state."},"DecisionStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"decision","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"decision"},"previous_state_exit_condition_description":{"type":"string","title":"Previous State Exit Condition Description","description":"The description of the exit condition that led to the transition to the next state."},"tool_call_logs":{"items":{"items":{"$ref":"#/components/schemas/ToolCallLog"},"type":"array"},"type":"array","title":"Tool Call Logs","description":"A list of tool call logs that were performed during the `SelectNextActionForDecisionState` LLM call during this state."}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info","previous_state_exit_condition_description","tool_call_logs"],"title":"DecisionStateTransitionLog"},"DeliveryAttempt":{"properties":{"delivery_time":{"type":"string","format":"date-time","title":"Delivery Time","description":"The time of the delivery attempt in UTC."},"status_code":{"type":"integer","title":"Status Code","description":"The HTTP status code of the delivery attempt."}},"type":"object","required":["delivery_time","status_code"],"title":"DeliveryAttempt"},"DynamicBehaviorInvocation":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"conversation_id":{"type":"string","title":"Conversation Id","description":"The ID of the conversation."},"service_id":{"type":"string","title":"Service Id","description":"The ID of the service that the conversation belongs to."},"user_id":{"type":"string","title":"User Id","description":"The ID of the user that triggered the dynamic behavior."},"initial_message_id":{"type":"string","title":"Initial Message Id","description":"The ID of the initial message that led to the dynamic behavior invocation."},"agent_message_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Message Id","description":"The ID of the agent message that led to the dynamic behavior invocation."},"agent_inner_thoughts_ids":{"items":{"type":"string"},"type":"array","title":"Agent Inner Thoughts Ids","description":"The IDs of the agent inner thoughts that led to the dynamic behavior invocation."},"dynamic_behavior_set_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Dynamic Behavior Set Version Info","description":"The ID and version number of the dynamic behavior set version that was activated."},"invoked_at":{"type":"string","format":"date-time","title":"Invoked At","description":"The time when the dynamic behavior was invoked."},"external_event_message_ids":{"items":{"type":"string"},"type":"array","title":"External Event Message Ids","description":"The IDs of the external event messages that were considered during the invocation. These do not include the initial message if it's an external event.","default":[]}},"type":"object","required":["_id","org_id","conversation_id","service_id","user_id","initial_message_id","agent_message_id","agent_inner_thoughts_ids","dynamic_behavior_set_version_info","invoked_at"],"title":"DynamicBehaviorInvocation"},"DynamicBehaviorSetInstance":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"is_active":{"type":"boolean","title":"Is Active"},"applied_to_services":{"items":{"type":"string"},"type":"array","title":"Applied To Services"},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__dynamic_behavior_set__DynamicBehaviorSet__UserInfo"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__dynamic_behavior_set__DynamicBehaviorSet__UserInfo"}},"type":"object","required":["id","name","is_active","applied_to_services","tags","created_at","creator","updated_at","updated_by"],"title":"DynamicBehaviorSetInstance"},"DynamicBehaviorSetVersion":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"dynamic_behavior_set_id":{"type":"string","title":"Dynamic Behavior Set Id"},"version":{"type":"integer","title":"Version"},"conversation_triggers":{"items":{"type":"string"},"type":"array","title":"Conversation Triggers"},"actions":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__dynamic_behavior_set_version__Action"},"type":"array","title":"Actions"},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__dynamic_behavior_set_version__DynamicBehaviorSetVersion__UserInfo","description":"The user who created this version of the dynamic behavior set."}},"type":"object","required":["_id","org_id","dynamic_behavior_set_id","version","conversation_triggers","actions","creator"],"title":"DynamicBehaviorSetVersion"},"EngageUserAgentActionEvent":{"oneOf":[{"$ref":"#/components/schemas/EngageUserDynamicBehaviorOverrideEvent"},{"$ref":"#/components/schemas/EngageUserMessageFragmentGeneratedEvent"},{"$ref":"#/components/schemas/ToolCallStartedEvent"},{"$ref":"#/components/schemas/ToolCallEndedEvent"},{"$ref":"#/components/schemas/ActionTooLongEvent"}],"discriminator":{"propertyName":"type","mapping":{"action-too-long":"#/components/schemas/ActionTooLongEvent","engage-user-dynamic-behavior-override":"#/components/schemas/EngageUserDynamicBehaviorOverrideEvent","engage-user-message-fragment-generated":"#/components/schemas/EngageUserMessageFragmentGeneratedEvent","tool-call-ended":"#/components/schemas/ToolCallEndedEvent","tool-call-started":"#/components/schemas/ToolCallStartedEvent"}}},"EngageUserDynamicBehaviorOverrideEvent":{"properties":{"type":{"type":"string","const":"engage-user-dynamic-behavior-override","title":"Type","default":"engage-user-dynamic-behavior-override"},"overriding_instructions":{"type":"boolean","title":"Overriding Instructions","description":"Whether the dynamic behavior set is overriding instructions during this interaction."},"overriding_tool_candidates":{"type":"boolean","title":"Overriding Tool Candidates","description":"Whether the dynamic behavior set is overriding the tool candidates during this interaction."}},"type":"object","required":["overriding_instructions","overriding_tool_candidates"],"title":"EngageUserDynamicBehaviorOverrideEvent","description":"Indicating that the agent has merged the dynamic behavior set's instructions with the instructions from the current state."},"EngageUserInvocationMetadata":{"properties":{"type":{"type":"string","const":"engage-user","title":"Type","default":"engage-user"},"current_state_machine_and_version":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Current State Machine And Version","description":"The ID and version of the state machine that is currently being executed."},"tool_call_round_index":{"type":"integer","title":"Tool Call Round Index","description":"The index of the tool call round."}},"type":"object","required":["current_state_machine_and_version","tool_call_round_index"],"title":"EngageUserInvocationMetadata"},"EngageUserMessageFragmentGeneratedEvent":{"properties":{"type":{"type":"string","const":"engage-user-message-fragment-generated","title":"Type","default":"engage-user-message-fragment-generated"},"index":{"type":"integer","title":"Index","description":"The index of the fragment in the agent response."},"fragment":{"type":"string","title":"Fragment","description":"The fragment of the agent response that has been generated."},"is_final":{"type":"boolean","title":"Is Final","description":"Whether this fragment is the final fragment of the agent response."}},"type":"object","required":["index","fragment","is_final"],"title":"EngageUserMessageFragmentGeneratedEvent","description":"Indicating that the agent has generated a fragment of the agent response."},"EqualCondition":{"properties":{"type":{"type":"string","const":"Equals","title":"Type","default":"Equals"},"value":{"title":"Value","description":"The value that the attribute must be equal to. It must be of the same type as the type of this attribute in the permission."}},"type":"object","required":["value"],"title":"EqualCondition","description":"Requires that the attribute value in the request to be equal to a specific value."},"ErrorEvent":{"properties":{"type":{"type":"string","const":"error","title":"Type","default":"error"},"http_error_code":{"type":"integer","title":"Http Error Code","description":"The HTTP status code of the error."},"error_description":{"type":"string","title":"Error Description","description":"A description of the error."}},"type":"object","required":["http_error_code","error_description"],"title":"ErrorEvent","description":"Emitted when there is an error during the stream. This event could be emitted even if the request returns with a 200.\nIf received before an `interaction-complete` event, the client should consider the entire interaction void and retry. If received after,\nthen the conversation has completed and an error occurred during the post-processing, so the client should consider the interaction valid and saved,\nbut manually call the `FinishConversation` endpoint to retry the post-processing."},"EvaluationSource":{"oneOf":[{"$ref":"#/components/schemas/PostSessionEvaluationSource"},{"$ref":"#/components/schemas/ManualEvaluationSource"},{"$ref":"#/components/schemas/SimulationEvaluationSource"}],"discriminator":{"propertyName":"type","mapping":{"manual":"#/components/schemas/ManualEvaluationSource","post-session":"#/components/schemas/PostSessionEvaluationSource","simulation":"#/components/schemas/SimulationEvaluationSource"}}},"EvaluationSourceType":{"type":"string","enum":["post-session","manual","simulation"]},"ExitCondition-Input":{"properties":{"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"next_state":{"anyOf":[{"$ref":"#/components/schemas/StateOrRefName"},{"prefixItems":[{"$ref":"#/components/schemas/ExternalStateName"},{"$ref":"#/components/schemas/StateOrRefName"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State"}},"type":"object","required":["description","next_state"],"title":"ExitCondition"},"ExitCondition-Output":{"properties":{"description":{"type":"string","title":"Description","description":"A description of this exit condition."},"next_state":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State","description":"The state to transition to if this exit condition is met. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph."}},"type":"object","required":["description","next_state"],"title":"ExitCondition"},"ExternalStateName":{"type":"string","pattern":"^[A-Za-z0-9_]+\\.[A-Za-z0-9_]+$"},"ExtractActiveMemoriesAgentActionEvent":{"properties":{"type":{"type":"string","const":"extract-active-memories-completed","title":"Type","default":"extract-active-memories-completed"},"queries_and_responses":{"items":{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Queries And Responses"}},"type":"object","required":["queries_and_responses"],"title":"ExtractActiveMemoriesCompletedEvent"},"FailedInvocationResult":{"properties":{"succeeded":{"type":"boolean","const":false,"title":"Succeeded","default":false},"exception_message":{"type":"string","title":"Exception Message","description":"The message of the exception during the tool invocation."},"exception_type":{"type":"string","title":"Exception Type","description":"The type of the exception during the tool invocation."},"exception_stack_trace":{"items":{"type":"string"},"type":"array","title":"Exception Stack Trace","description":"The stack trace of the exception during the tool invocation."},"duration_ms":{"type":"integer","title":"Duration Ms","description":"The duration of the tool invocation in milliseconds."}},"type":"object","required":["exception_message","exception_type","exception_stack_trace","duration_ms"],"title":"FailedInvocationResult"},"FailedInvocationStatus":{"properties":{"succeeded":{"type":"boolean","const":false,"title":"Succeeded","default":false},"exception_message":{"type":"string","title":"Exception Message","description":"The exception message if the tool invocation failed."},"exception_type":{"type":"string","title":"Exception Type","description":"The exception type if the tool invocation failed."},"exception_stack_trace":{"items":{"type":"string"},"type":"array","title":"Exception Stack Trace","description":"The exception stack trace if the tool invocation failed."}},"type":"object","required":["exception_message","exception_type","exception_stack_trace"],"title":"FailedInvocationStatus"},"Format":{"type":"string","enum":["text","voice"]},"FrontendView":{"type":"string","enum":["client","admin"]},"GenerateToolParamsDesignatedToolCallParamsGeneratedEvent":{"properties":{"type":{"type":"string","const":"designated-tool-call-params-generated","title":"Type","default":"designated-tool-call-params-generated"},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool being called."},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the tool being called."},"tool_call_params":{"additionalProperties":true,"type":"object","title":"Tool Call Params","description":"The generated tool call parameters."}},"type":"object","required":["tool_id","tool_version","tool_call_params"],"title":"GenerateToolParamsDesignatedToolCallParamsGeneratedEvent"},"GenerateToolParamsDesignatedToolRetrievedEvent":{"properties":{"type":{"type":"string","const":"designated-tool-retrieved","title":"Type","default":"designated-tool-retrieved"},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool being called."},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the tool being called."}},"type":"object","required":["tool_id","tool_version"],"title":"GenerateToolParamsDesignatedToolRetrievedEvent"},"GenerateToolParamsEvent":{"anyOf":[{"$ref":"#/components/schemas/GenerateToolParamsDesignatedToolRetrievedEvent"},{"$ref":"#/components/schemas/GenerateToolParamsDesignatedToolCallParamsGeneratedEvent"},{"$ref":"#/components/schemas/ActionTooLongEvent"},{"$ref":"#/components/schemas/ToolCallStartedEvent"},{"$ref":"#/components/schemas/ToolCallEndedEvent"}]},"Identity-Input":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"role":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"developed_by":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"default_spoken_language":{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3,"title":"Default Spoken Language"},"relationship_to_developer":{"$ref":"#/components/schemas/RelationshipToDeveloper-Input"}},"type":"object","required":["name","role","developed_by","default_spoken_language","relationship_to_developer"],"title":"Identity"},"Identity-Output":{"properties":{"name":{"type":"string","title":"Name","description":"A human friendly name of the agent."},"role":{"type":"string","title":"Role","description":"The agent's role within the organization."},"developed_by":{"type":"string","title":"Developed By","description":"A human-friendly name of the organization that developed this agent."},"default_spoken_language":{"type":"string","title":"Default Spoken Language","description":"The agent's primary language. This must be specified in the ISO 639-3 format."},"relationship_to_developer":{"$ref":"#/components/schemas/RelationshipToDeveloper-Output","description":"Relationship of the agent to its developer."}},"type":"object","required":["name","role","developed_by","default_spoken_language","relationship_to_developer"],"title":"Identity"},"InCondition":{"properties":{"type":{"type":"string","const":"In","title":"Type","default":"In"},"values":{"items":{},"type":"array","title":"Values","description":"A list of values, one of which the attribute must be equal to. All values must be of the same type as the type of this attribute in the permission."}},"type":"object","required":["values"],"title":"InCondition","description":"Requires that the attribute value in the request to be one of the specified values."},"InitialMessageType":{"type":"string","enum":["user-message","external-event","skip"]},"InitialMetricVersion":{"properties":{"description":{"type":"string","title":"Description","description":"The description of the metric. This tells the LLM what the metric is and how the metric result should be generated."},"metric_value":{"$ref":"#/components/schemas/MetricValue-Input","description":"The type of value this metric could take for the initial version of the metric. The value type cannot be adjusted between versions."}},"type":"object","required":["description","metric_value"],"title":"InitialMetricVersion"},"InjectInstructionAction-Input":{"properties":{"type":{"type":"string","const":"inject-instruction","title":"Type"},"instruction":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"overrides_instructions":{"type":"boolean","title":"Overrides Instructions","description":"During injection, whether the original instruction of the state is overriden with this instruction."}},"type":"object","required":["type","instruction","overrides_instructions"],"title":"InjectInstructionAction"},"InjectInstructionAction-Output":{"properties":{"type":{"type":"string","const":"inject-instruction","title":"Type"},"instruction":{"type":"string","title":"Instruction"},"overrides_instructions":{"type":"boolean","title":"Overrides Instructions","description":"During injection, whether the original instruction of the state is overriden with this instruction."}},"type":"object","required":["type","instruction","overrides_instructions"],"title":"InjectInstructionAction"},"Input":{"properties":{"input_parameters":{"additionalProperties":true,"type":"object","title":"Input Parameters","description":"The input parameters for the tool invocation."},"invocation_mode":{"type":"string","enum":["regular","conversation-simulation"],"title":"Invocation Mode","description":"The mode of invocation."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Nonsensitive User Variables","description":"The nonsensitive user variables to provide to the tool during invocation."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Sensitive User Variables","description":"The sensitive user variables to provide to the tool during invocation."}},"type":"object","required":["input_parameters","invocation_mode","nonsensitive_user_variables","sensitive_user_variables"],"title":"Input"},"InsertRequest":{"properties":{"name":{"$ref":"#/components/schemas/StrippedNonemptyString_A-Z______","description":"The name of the environment variable to insert."},"value":{"type":"string","title":"Value","description":"The value of the environment variable to insert."},"is_secret":{"type":"boolean","title":"Is Secret","description":"Whether the environment variable is a secret."}},"type":"object","required":["name","value","is_secret"],"title":"InsertRequest"},"InteractionCompleteEvent":{"properties":{"type":{"type":"string","const":"interaction-complete","title":"Type","default":"interaction-complete"},"message_id":{"type":"string","title":"Message Id","description":"The identifier of the agent message in this interaction."},"interaction_id":{"type":"string","title":"Interaction Id","description":"The identifier of this interaction."},"full_message":{"type":"string","title":"Full Message","description":"A structure containing either the content of the message if it's text, or the transcript of the message if it's audio."},"conversation_completed":{"type":"boolean","title":"Conversation Completed","description":"Whether the conversation is auto-completed after this interaction."}},"type":"object","required":["message_id","interaction_id","full_message","conversation_completed"],"title":"InteractionCompleteEvent","description":"Emitted when the interaction is complete and committed to database. This event is only emitted after all `NewMessageEvent`s are emitted."},"InvocationResult":{"oneOf":[{"$ref":"#/components/schemas/SucceededInvocationResult"},{"$ref":"#/components/schemas/FailedInvocationResult"}],"discriminator":{"propertyName":"succeeded","mapping":{"False":"#/components/schemas/FailedInvocationResult","True":"#/components/schemas/SucceededInvocationResult"}}},"InvocationSource":{"oneOf":[{"$ref":"#/components/schemas/RegularConversationInvocationSource"},{"$ref":"#/components/schemas/SimulationConversationInvocationSource"}],"discriminator":{"propertyName":"type","mapping":{"regular-conversation":"#/components/schemas/RegularConversationInvocationSource","simulation-conversation":"#/components/schemas/SimulationConversationInvocationSource"}}},"InvocationStatus":{"oneOf":[{"$ref":"#/components/schemas/SucceededInvocationStatus"},{"$ref":"#/components/schemas/FailedInvocationStatus"}],"discriminator":{"propertyName":"succeeded","mapping":{"False":"#/components/schemas/FailedInvocationStatus","True":"#/components/schemas/SucceededInvocationStatus"}}},"JumpbackStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"jumpback","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"jumpback"}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info"],"title":"JumpbackStateTransitionLog"},"LLMConfig-Input":{"properties":{"llm_name":{"$ref":"#/components/schemas/LLMType"},"params":{"additionalProperties":true,"type":"object","title":"Params","description":"LLM-specific parameters to use.","default":{}}},"type":"object","required":["llm_name"],"title":"LLMConfig"},"LLMConfig-Output":{"properties":{"llm_name":{"type":"string","title":"Llm Name","description":"The name of the LLM to use."},"params":{"additionalProperties":true,"type":"object","title":"Params","description":"LLM-specific parameters to use.","default":{}}},"type":"object","required":["llm_name"],"title":"LLMConfig"},"LLMType":{"type":"string","enum":["azure_gpt-4.1-2025-04-14","openai_gpt-4.1-2025-04-14","azure_gpt-4.1-mini-2025-04-14","openai_gpt-4.1-mini-2025-04-14","azure_gpt-5-nano-2025-08-07","azure_gpt-5.1-2025-11-13","openai_gpt-5.1-2025-11-13","azure_gpt-5.2-2025-12-11","openai_gpt-5-nano-2025-08-07","openai_gpt-5-mini-2025-08-07","openai_gpt-5.2-2025-12-11","aws_claude-sonnet-4-5-20250929","aws_claude-haiku-4-5-20251001","aws_claude-sonnet-4-6","aws_claude-opus-4-6","google_gemini-2.5-pro","google_gemini-2.5-flash"]},"MP3UserMessageAudioConfig":{"properties":{"type":{"type":"string","const":"mp3","title":"Type","default":"mp3"}},"type":"object","title":"MP3UserMessageAudioConfig"},"ManualEvaluationSource":{"properties":{"type":{"type":"string","const":"manual","title":"Type","default":"manual"},"conversation_id":{"type":"string","title":"Conversation Id"},"evaluate_to_interaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evaluate To Interaction Id"},"invoked_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric_evaluation_result__MetricEvaluationResult__ManualEvaluationSource__UserInfo","description":"The user who invoked the manual evaluation."},"references":{"items":{"type":"string"},"type":"array","title":"References","description":"A list of references to the messages that were used to compute this metric."}},"type":"object","required":["conversation_id","evaluate_to_interaction_id","invoked_by","references"],"title":"ManualEvaluationSource"},"MemoryInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier of the memory."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time at which this memory was created."},"conversation_id":{"type":"string","title":"Conversation Id","description":"The ID of the conversation from where this memory was created."},"references":{"items":{"type":"string"},"type":"array","title":"References","description":"The identifiers of the messages that this memory references."},"content":{"type":"string","title":"Content","description":"The content of the memory."},"context":{"type":"string","title":"Context","description":"The context of the memory."}},"type":"object","required":["id","created_at","conversation_id","references","content","context"],"title":"MemoryInstance"},"MessageInstance":{"properties":{"id":{"type":"string","title":"Id"},"interaction_id":{"type":"string","title":"Interaction Id","description":"The identifier of the interaction."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time at which this message was created."},"sender":{"type":"string","title":"Sender","description":"A human-friendly name of the sender of the message."},"message":{"type":"string","title":"Message","description":"The text content of the message."},"format":{"$ref":"#/components/schemas/Format","description":"The format in which the message was delivered."},"message_type":{"$ref":"#/components/schemas/MessageType","description":"The type of the message."}},"type":"object","required":["id","interaction_id","created_at","sender","message","format","message_type"],"title":"MessageInstance"},"MessageType":{"type":"string","enum":["user-message","agent-message","agent-inner-thought","external-event"]},"Metric":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the metric."},"applied_to_services":{"items":{"type":"string"},"type":"array","title":"Applied To Services","description":"The services that the metric is applied to."},"additional_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Notes","description":"Additional notes about the metric."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the metric."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric__Metric__UserInfo","description":"The user who created the metric."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric__Metric__UserInfo","description":"The user who last updated the metric."},"metric_value_type":{"$ref":"#/components/schemas/MetricValueType","description":"The type of value that this metric is measuring."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the metric has been deleted."}},"type":"object","required":["_id","org_id","name","applied_to_services","additional_notes","tags","creator","updated_by","metric_value_type","is_deleted"],"title":"Metric"},"MetricEvaluationResultInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the metric evaluation result."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"metric_id":{"type":"string","title":"Metric Id","description":"The ID of the metric that was evaluated."},"metric_version":{"type":"integer","title":"Metric Version","description":"The version of the metric that was evaluated."},"result":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string"},{"type":"null"}],"title":"Result","description":"The result of the metric evaluation. If `None`, the metric was deemed not applicable."},"justification":{"type":"string","title":"Justification","description":"The justification for the result of the metric evaluation."},"source":{"$ref":"#/components/schemas/EvaluationSource"}},"type":"object","required":["id","org_id","metric_id","metric_version","result","justification","source"],"title":"MetricEvaluationResultInstance"},"MetricInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the metric."},"org_id":{"type":"string","title":"Org Id","description":"The organization ID of the metric."},"name":{"type":"string","title":"Name","description":"The name of the metric."},"applied_to_services":{"items":{"type":"string"},"type":"array","title":"Applied To Services","description":"The services that the metric is applied to."},"additional_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Notes","description":"Additional notes about the metric."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the metric."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric__Metric__UserInfo","description":"The user who created the metric."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric__Metric__UserInfo","description":"The user who last updated the metric."},"metric_value_type":{"$ref":"#/components/schemas/MetricValueType","description":"The type of value that this metric is measuring."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the metric is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time when the metric is created."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The time when the metric is last updated."}},"type":"object","required":["id","org_id","name","applied_to_services","additional_notes","tags","creator","updated_by","metric_value_type","is_deleted","created_at","updated_at"],"title":"MetricInstance"},"MetricToEvaluate":{"properties":{"metric_id":{"type":"string","title":"Metric Id"},"success_criterion_name":{"type":"string","title":"Success Criterion Name","description":"The name of the success criterion."},"success_criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Output","description":"The description of the success criterion."}},"type":"object","required":["metric_id","success_criterion_name","success_criterion"],"title":"MetricToEvaluate"},"MetricValue-Input":{"oneOf":[{"$ref":"#/components/schemas/NumericalMetricValue"},{"$ref":"#/components/schemas/CategoricalMetricValue-Input"},{"$ref":"#/components/schemas/BooleanMetricValue"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricValue","categorical":"#/components/schemas/CategoricalMetricValue-Input","numerical":"#/components/schemas/NumericalMetricValue"}}},"MetricValue-Output":{"oneOf":[{"$ref":"#/components/schemas/BooleanMetricValue"},{"$ref":"#/components/schemas/NumericalMetricValue"},{"$ref":"#/components/schemas/CategoricalMetricValue-Output"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricValue","categorical":"#/components/schemas/CategoricalMetricValue-Output","numerical":"#/components/schemas/NumericalMetricValue"}}},"MetricValueType":{"type":"string","enum":["boolean","numerical","categorical"]},"MetricVersionInstance":{"properties":{"metric_id":{"type":"string","title":"Metric Id","description":"The ID of the metric."},"version":{"type":"integer","title":"Version","description":"The version number of the metric."},"description":{"type":"string","title":"Description","description":"The description of the metric. This tells the LLM what the metric is and how the metric result should be generated."},"metric_value":{"$ref":"#/components/schemas/MetricValue-Output","description":"The type of value that this metric is measuring. The value type cannot be adjusted between versions, but specifiers of the type can."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric_version__MetricVersion__UserInfo","description":"The user who created the metric."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of when the metric version was created."}},"type":"object","required":["metric_id","version","description","metric_value","creator","created_at"],"title":"MetricVersionInstance"},"Model":{"properties":{"name":{"type":"string","title":"Name"},"params_model_schema":{"additionalProperties":true,"type":"object","title":"Params Model Schema"}},"additionalProperties":true,"type":"object","required":["name","params_model_schema"],"title":"Model"},"NavigateStateMachineActionStateActionSelectedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-action-state-action-selected","title":"Type","default":"navigate-state-machine-action-state-action-selected"},"action":{"type":"string","title":"Action"}},"type":"object","required":["action"],"title":"NavigateStateMachineActionStateActionSelectedEvent","description":"Indicating that the agent has selected an action from the current state."},"NavigateStateMachineAgentActionEvent":{"anyOf":[{"$ref":"#/components/schemas/NavigateStateMachineDynamicBehaviorOverrideEvent"},{"$ref":"#/components/schemas/NavigateStateMachineActionStateActionSelectedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineDecisionStateDecisionStartedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineExitConditionSelectedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineRecallStateDynamicQueriesGeneratedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineRecallStateStaticQueriesRetrievedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineRecallStateActiveMemoryRetrievedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineReflectionStatePromptRetrievedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineReflectionStateReflectionGeneratedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineAnnotationStateAnnotationRetrievedEvent"},{"$ref":"#/components/schemas/NavigateStateMachineStateTransitionedEvent"},{"$ref":"#/components/schemas/GenerateToolParamsEvent"},{"$ref":"#/components/schemas/NavigateStateMachineToolCallStateToolOutputAvailableEvent"},{"$ref":"#/components/schemas/ToolCallStartedEvent"},{"$ref":"#/components/schemas/ToolCallEndedEvent"},{"$ref":"#/components/schemas/ActionTooLongEvent"}]},"NavigateStateMachineAnnotationStateAnnotationRetrievedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-annotation-state-annotation-retrieved","title":"Type","default":"navigate-state-machine-annotation-state-annotation-retrieved"},"annotation":{"type":"string","title":"Annotation"}},"type":"object","required":["annotation"],"title":"NavigateStateMachineAnnotationStateAnnotationRetrievedEvent","description":"Indicating that the agent has retrieved the annotation in the current annotation state."},"NavigateStateMachineDecisionStateDecisionStartedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-decision-state-decision-started","title":"Type","default":"navigate-state-machine-decision-state-decision-started"}},"type":"object","title":"NavigateStateMachineDecisionStateDecisionStartedEvent","description":"Indicating that the agent has started making a decision in the current decision state."},"NavigateStateMachineDynamicBehaviorOverrideEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-dynamic-behavior-override","title":"Type","default":"navigate-state-machine-dynamic-behavior-override"},"overriding_instructions":{"type":"boolean","title":"Overriding Instructions","description":"Whether the dynamic behavior set is overriding instructions during this interaction."},"overriding_tool_candidates":{"type":"boolean","title":"Overriding Tool Candidates","description":"Whether the dynamic behavior set is overriding the tool candidates during this interaction."}},"type":"object","required":["overriding_instructions","overriding_tool_candidates"],"title":"NavigateStateMachineDynamicBehaviorOverrideEvent","description":"Indicating that the agent has merged the dynamic behavior set's instructions with the instructions from the current state."},"NavigateStateMachineExitConditionSelectedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-exit-condition-selected","title":"Type","default":"navigate-state-machine-exit-condition-selected"},"exit_condition":{"type":"string","title":"Exit Condition","description":"The exit condition that the agent has selected."},"next_state_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next State State Machine Version Info","description":"The state machine version info of the next state."},"next_state_name":{"type":"string","title":"Next State Name","description":"The name of the next state."}},"type":"object","required":["exit_condition","next_state_state_machine_version_info","next_state_name"],"title":"NavigateStateMachineExitConditionSelectedEvent","description":"Indicating that the agent has selected an exit condition from the current action or decision state."},"NavigateStateMachineRecallStateActiveMemoryRetrievedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-recall-state-active-memory-retrieved","title":"Type","default":"navigate-state-machine-recall-state-active-memory-retrieved"},"queries_and_responses":{"items":{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Queries And Responses","description":"A list of tuples of queries and responses."}},"type":"object","required":["queries_and_responses"],"title":"NavigateStateMachineRecallStateActiveMemoryRetrievedEvent","description":"Indicating that the agent has retrieved the active memory in the current the recall state."},"NavigateStateMachineRecallStateDynamicQueriesGeneratedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-recall-state-dynamic-queries-generated","title":"Type","default":"navigate-state-machine-recall-state-dynamic-queries-generated"},"dynamic_queries":{"items":{"type":"string"},"type":"array","title":"Dynamic Queries","description":"The dynamic queries that the agent has generated."},"requested_information":{"type":"string","title":"Requested Information","description":"The information that the agent needs from the queries."}},"type":"object","required":["dynamic_queries","requested_information"],"title":"NavigateStateMachineRecallStateDynamicQueriesGeneratedEvent","description":"Indicating that the agent has generated dynamic queries in the current the recall state."},"NavigateStateMachineRecallStateStaticQueriesRetrievedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-recall-state-static-queries-retrieved","title":"Type","default":"navigate-state-machine-recall-state-static-queries-retrieved"},"static_queries":{"items":{"type":"string"},"type":"array","title":"Static Queries","description":"The static queries that the agent has retrieved."}},"type":"object","required":["static_queries"],"title":"NavigateStateMachineRecallStateStaticQueriesRetrievedEvent","description":"Indicating that the agent has retrieved the static queries in the current the recall state."},"NavigateStateMachineReflectionStatePromptRetrievedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-reflection-state-prompt-retrieved","title":"Type","default":"navigate-state-machine-reflection-state-prompt-retrieved"},"prompt":{"type":"string","title":"Prompt"}},"type":"object","required":["prompt"],"title":"NavigateStateMachineReflectionStatePromptRetrievedEvent","description":"Indicating that the agent has retrieved the prompt in the current reflection state."},"NavigateStateMachineReflectionStateReflectionGeneratedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-reflection-state-reflection-generated","title":"Type","default":"navigate-state-machine-reflection-state-reflection-generated"},"reflection":{"type":"string","title":"Reflection","description":"The reflection that the agent has generated."}},"type":"object","required":["reflection"],"title":"NavigateStateMachineReflectionStateReflectionGeneratedEvent","description":"Indicating that the agent has generated the reflection in the current reflection state."},"NavigateStateMachineStateTransitionedEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-state-transitioned","title":"Type","default":"navigate-state-machine-state-transitioned"},"prev_state":{"type":"string","title":"Prev State","description":"The previous state."},"prev_state_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Prev State State Machine Version Info","description":"The state machine version info of the previous state."},"next_state":{"type":"string","title":"Next State","description":"The next state."},"next_state_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next State State Machine Version Info","description":"The state machine version info of the next state."}},"type":"object","required":["prev_state","prev_state_state_machine_version_info","next_state","next_state_state_machine_version_info"],"title":"NavigateStateMachineStateTransitionedEvent","description":"Indicating that the agent has transitioned to a new state."},"NavigateStateMachineToolCallStateToolOutputAvailableEvent":{"properties":{"type":{"type":"string","const":"navigate-state-machine-tool-call-state-tool-output-available","title":"Type","default":"navigate-state-machine-tool-call-state-tool-output-available"},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool being called."},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the tool being called."},"tool_output":{"type":"string","title":"Tool Output","description":"The tool output."},"duration":{"type":"number","title":"Duration","description":"The duration taken to receive the tool output in seconds."},"input_arguments":{"additionalProperties":true,"type":"object","title":"Input Arguments","description":"The input arguments used for the tool call."}},"type":"object","required":["tool_id","tool_version","tool_output","duration","input_arguments"],"title":"NavigateStateMachineToolCallStateToolOutputAvailableEvent","description":"Indicating that the agent has received the tool output in the current tool call state."},"NewMessageEvent":{"properties":{"type":{"type":"string","const":"new-message","title":"Type","default":"new-message"},"message":{"type":"string","title":"Message","description":"Either the raw-text piece or a base-64 encoded string of bytes representing the piece in alternative forms. If it represents audio, the audios are in\nPCM16 format."},"transcript_alignment":{"anyOf":[{"items":{"prefixItems":[{"type":"integer"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2},"type":"array"},{"type":"null"}],"title":"Transcript Alignment","description":"Transcript of the ongoing audio message and how they align with the audio, if the message is in audio format. Otherwise, it's `None`. This is an array of tuples, where each tuple contains\na character and an integer indicating the milliseconds since the audio started when the character is spoken.\n\nNote that this field might not be defined for some events that transmit audio bytes -- in that case, the alignment information for that chunk was already\nincluded in the `transcript_alignment` field in the previous event."},"stop":{"type":"boolean","title":"Stop","description":"Whether this is the last piece of the agent message."},"sequence_number":{"type":"integer","title":"Sequence Number","description":"The sequence number of this piece in the agent message."},"message_id":{"type":"string","title":"Message Id","description":"The identifier of this agent message. "}},"type":"object","required":["message","transcript_alignment","stop","sequence_number","message_id"],"title":"NewMessageEvent","description":"Emitted when a new piece of the agent message is available."},"NotEqualCondition":{"properties":{"type":{"type":"string","const":"NotEquals","title":"Type","default":"NotEquals"},"value":{"title":"Value","description":"The value that the attribute must be unequal to. It must be of the same type as the type of this attribute in the permission."}},"type":"object","required":["value"],"title":"NotEqualCondition","description":"Requires that the attribute value in the request to be not equal to a specific value."},"NumericalMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"verb":{"$ref":"#/components/schemas/Verb"},"threshold":{"type":"number","title":"Threshold"}},"type":"object","required":["type","verb","threshold"],"title":"NumericalMetricSuccessCriterion"},"NumericalMetricValue":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"lower_bound":{"type":"number","title":"Lower Bound"},"upper_bound":{"type":"number","title":"Upper Bound"}},"type":"object","required":["type","lower_bound","upper_bound"],"title":"NumericalMetricValue"},"PCMUserMessageAudioConfig":{"properties":{"type":{"type":"string","const":"pcm","title":"Type","default":"pcm"},"frame_rate":{"type":"integer","maximum":44100.0,"minimum":4000.0,"title":"Frame Rate"},"n_channels":{"type":"integer","const":1,"title":"N Channels"},"sample_width":{"type":"integer","enum":[2,4],"title":"Sample Width"}},"type":"object","required":["frame_rate","n_channels","sample_width"],"title":"PCMUserMessageAudioConfig"},"PermissionGrant-Input":{"properties":{"permission_name":{"type":"string","title":"Permission Name","description":"The name of the permission."},"conditions":{"additionalProperties":{"$ref":"#/components/schemas/Condition"},"type":"object","title":"Conditions","description":"A dictionary of attribute name to condition that must be met for this grant to be applicable."}},"type":"object","required":["permission_name","conditions"],"title":"PermissionGrant"},"PermissionGrant-Output":{"properties":{"permission_name":{"type":"string","title":"Permission Name","description":"The name of the permission."},"conditions":{"additionalProperties":{"$ref":"#/components/schemas/Condition"},"type":"object","title":"Conditions","description":"A dictionary of attribute name to condition that must be met for this grant to be applicable."}},"type":"object","required":["permission_name","conditions"],"title":"PermissionGrant"},"PermissionGrantInstance":{"properties":{"permission_name":{"type":"string","title":"Permission Name","description":"The name of the permission."},"conditions":{"additionalProperties":{"$ref":"#/components/schemas/Condition"},"type":"object","title":"Conditions","description":"A dictionary of attribute name to condition that must be met for this grant to be applicable."}},"type":"object","required":["permission_name","conditions"],"title":"PermissionGrantInstance"},"PostAnalysisType":{"type":"string","enum":["generate-user-models","extract-memories","compute-metrics"]},"PostSessionEvaluationSource":{"properties":{"type":{"type":"string","const":"post-session","title":"Type","default":"post-session"},"conversation_id":{"type":"string","title":"Conversation Id"},"references":{"items":{"type":"string"},"type":"array","title":"References","description":"A list of references to the messages that were used to compute this metric."}},"type":"object","required":["conversation_id","references"],"title":"PostSessionEvaluationSource"},"Preferences-Output":{"properties":{"enable_response_recommendation":{"type":"boolean","title":"Enable Response Recommendation","description":"Whether to automatically recommend responses to the user if the user hasn't replied to the coach for a while.","default":false},"preferred_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language to use for the user. This field must be in the ISO 639-3 format. The agent will attempt to converse\nwith the user in this language. If not set, the agent's default spoken language is used."},"conversations_visible_to_admins":{"type":"boolean","title":"Conversations Visible To Admins","description":"Whether the user's conversations are visible to the admins.","default":true},"user_model_visible_to_admins":{"type":"boolean","title":"User Model Visible To Admins","description":"Whether the user's user model is visible to the admins.","default":true},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","description":"The user's timezone in the IANA tz database format for all users in this organization. If not specified, UTC is used."},"audio_keyterms":{"items":{"type":"string"},"type":"array","title":"Audio Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions for this user.","default":[]}},"type":"object","title":"Preferences","description":"Preferences that the user can set to customize their experience."},"Prompt":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"The generated prompt."},"facets":{"items":{"type":"string"},"type":"array","title":"Facets","description":"The facets that the generated prompt is about."}},"type":"object","required":["prompt","facets"],"title":"Prompt"},"RecallState-Input":{"properties":{"type":{"type":"string","const":"recall","title":"Type"},"name":{"$ref":"#/components/schemas/StateOrRefName"},"queries":{"anyOf":[{"items":{"type":"string"},"type":"array","minItems":1},{"type":"null"}],"title":"Queries"},"requested_information":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}]},"next_state":{"anyOf":[{"$ref":"#/components/schemas/StateOrRefName"},{"prefixItems":[{"$ref":"#/components/schemas/ExternalStateName"},{"$ref":"#/components/schemas/StateOrRefName"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State"}},"type":"object","required":["type","name","queries","requested_information","next_state"],"title":"RecallState"},"RecallState-Output":{"properties":{"type":{"type":"string","const":"recall","title":"Type"},"name":{"type":"string","title":"Name","description":"The name of this state."},"queries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Queries","description":"A list of queries to perform active memory extraction for. If this field is defined, `requested_information` must be `None`."},"requested_information":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Information","description":"A piece of query to run active memory query generation for. Active memory extraction will be performed for the generated queries. If this field is defined, `queries` must be `None`."},"next_state":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State","description":"The state to transition to after the active memory extraction is performed. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph."}},"type":"object","required":["type","name","queries","requested_information","next_state"],"title":"RecallState","description":"A passthrough state in which an active memory extraction for the provided queries is performed, and the result added to the working memory, before proceeding\nto another state."},"RecallStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"recall","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"recall"},"performed_queries":{"items":{"type":"string"},"type":"array","title":"Performed Queries","description":"A list of queries that were actually performed during this state. This does not include queries included in the states that are duplicates of queries performed previously in this conversation."}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info","performed_queries"],"title":"RecallStateTransitionLog"},"ReflectionState-Input":{"properties":{"type":{"type":"string","const":"reflection","title":"Type"},"name":{"$ref":"#/components/schemas/StateOrRefName"},"problem":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"word_limit":{"type":"integer","exclusiveMinimum":0.0,"title":"Word Limit"},"next_state":{"anyOf":[{"$ref":"#/components/schemas/StateOrRefName"},{"prefixItems":[{"$ref":"#/components/schemas/ExternalStateName"},{"$ref":"#/components/schemas/StateOrRefName"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State"},"tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec"},"type":"array","title":"Tool Call Specs"},"audio_fillers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":5,"title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the reflection is taking too long to be generated."},"audio_filler_triggered_after":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."}},"type":"object","required":["type","name","problem","word_limit","next_state","tool_call_specs","audio_fillers","audio_filler_triggered_after"],"title":"ReflectionState"},"ReflectionState-Output":{"properties":{"type":{"type":"string","const":"reflection","title":"Type"},"name":{"type":"string","title":"Name","description":"The name of this state."},"problem":{"type":"string","title":"Problem","description":"The problem to reflect upon."},"word_limit":{"type":"integer","title":"Word Limit","description":"The word limit for the generated inner thought message."},"next_state":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State","description":"The state to transition to after the inner thought message is generated. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph."},"tool_call_specs":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec"},"type":"array","title":"Tool Call Specs","description":"A list of tool calls that the agent can make in this state."},"audio_fillers":{"items":{"type":"string"},"type":"array","title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the reflection is taking too long to be generated."},"audio_filler_triggered_after":{"type":"number","title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."}},"type":"object","required":["type","name","problem","word_limit","next_state","tool_call_specs","audio_fillers","audio_filler_triggered_after"],"title":"ReflectionState","description":"A passthrough state in which the agent reflects on the conversation so far and adds an inner thought message before continuing."},"ReflectionStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"reflection","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"reflection"},"inner_thought_message_id":{"type":"string","title":"Inner Thought Message Id","description":"The identifier of the inserted inner thought message."},"tool_call_logs":{"items":{"items":{"$ref":"#/components/schemas/ToolCallLog"},"type":"array"},"type":"array","title":"Tool Call Logs","description":"A list of tool call logs that were performed during the `GenerateReflection` LLM call during this state."}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info","inner_thought_message_id","tool_call_logs"],"title":"ReflectionStateTransitionLog"},"RegularConversationInvocationSource":{"properties":{"type":{"type":"string","const":"regular-conversation","title":"Type","default":"regular-conversation"},"user_id":{"type":"string","title":"User Id","description":"The ID of the user whose conversation invoked the tool."},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversation Id","description":"The ID of the conversation where the tool was invoked. This conversation might not actually exist if later in the call the conversation is rolled back."},"interaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interaction Id","description":"The ID of the interaction where the tool was invoked. This interaction might not actually exist if later in the call the interaction is rolled back."},"invocation_metadata":{"$ref":"#/components/schemas/AgentFrameworkInvocationMetadata","description":"Metadata about the invocation."}},"type":"object","required":["user_id","conversation_id","interaction_id","invocation_metadata"],"title":"RegularConversationInvocationSource"},"RelationshipToDeveloper-Input":{"properties":{"ownership":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"conversation_visibility":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"thought_visibility":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"}},"type":"object","required":["ownership","type","conversation_visibility","thought_visibility"],"title":"RelationshipToDeveloper"},"RelationshipToDeveloper-Output":{"properties":{"ownership":{"type":"string","title":"Ownership","description":"The agent's belief of which entity owns it."},"type":{"type":"string","title":"Type","description":"The entity that the agent regards itself as."},"conversation_visibility":{"type":"string","title":"Conversation Visibility","description":"Whether the agent believes that its owner can see its conversations with clients."},"thought_visibility":{"type":"string","title":"Thought Visibility","description":"Whether the agent believes that its owner can see its inner thoughts when engaging in conversations with its clients."}},"type":"object","required":["ownership","type","conversation_visibility","thought_visibility"],"title":"RelationshipToDeveloper"},"ResultPersistence":{"type":"string","enum":["ephemeral","persisted-preferred","persisted"]},"RoleInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the role."},"name":{"type":"string","title":"Name","description":"The name of the role."},"description":{"type":"string","title":"Description","description":"A description of the role."},"frontend_view":{"$ref":"#/components/schemas/FrontendView","description":"The frontend view of the role. This determines the UI that all users of a role will see."},"permission_grants":{"items":{"$ref":"#/components/schemas/PermissionGrant-Output"},"type":"array","title":"Permission Grants","description":"The permission grants given to the role. Only returned if the `return_permission_grants` query parameter is True. "}},"type":"object","required":["id","name","description","frontend_view","permission_grants"],"title":"RoleInstance"},"SelectDynamicBehaviorAgentActionEvent":{"oneOf":[{"$ref":"#/components/schemas/SelectDynamicBehaviorVectorGeneratedEvent"},{"$ref":"#/components/schemas/SelectDynamicBehaviorRelevanceRetrievalCompletedEvent"},{"$ref":"#/components/schemas/SelectDynamicBehaviorCompletedEvent"}],"discriminator":{"propertyName":"type","mapping":{"select-dynamic-behavior-completed":"#/components/schemas/SelectDynamicBehaviorCompletedEvent","select-dynamic-behavior-relevance-retrieval-completed":"#/components/schemas/SelectDynamicBehaviorRelevanceRetrievalCompletedEvent","select-dynamic-behavior-vector-generated":"#/components/schemas/SelectDynamicBehaviorVectorGeneratedEvent"}}},"SelectDynamicBehaviorCompletedEvent":{"properties":{"type":{"type":"string","const":"select-dynamic-behavior-completed","title":"Type","default":"select-dynamic-behavior-completed"},"selected_dynamic_behavior_set_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Selected Dynamic Behavior Set Version Info"},"previous_selected_dynamic_behavior_set_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Previous Selected Dynamic Behavior Set Version Info"}},"type":"object","required":["selected_dynamic_behavior_set_version_info","previous_selected_dynamic_behavior_set_version_info"],"title":"SelectDynamicBehaviorCompletedEvent"},"SelectDynamicBehaviorRelevanceRetrievalCompletedEvent":{"properties":{"type":{"type":"string","const":"select-dynamic-behavior-relevance-retrieval-completed","title":"Type","default":"select-dynamic-behavior-relevance-retrieval-completed"}},"type":"object","title":"SelectDynamicBehaviorRelevanceRetrievalCompletedEvent"},"SelectDynamicBehaviorVectorGeneratedEvent":{"properties":{"type":{"type":"string","const":"select-dynamic-behavior-vector-generated","title":"Type","default":"select-dynamic-behavior-vector-generated"}},"type":"object","title":"SelectDynamicBehaviorVectorGeneratedEvent"},"ServiceHierarchicalStateMachineInstance":{"properties":{"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization of this state machine."},"service_hierarchical_state_machine_id":{"type":"string","title":"Service Hierarchical State Machine Id","description":"The ID of the state machine that this document is a version for."},"version":{"type":"integer","title":"Version","description":"Numerical version ID that describes how many iterations of this state machine occurred before this version."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time at which this version was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__UserInfo","description":"The user who created this version of the state machine."},"description":{"type":"string","title":"Description","description":"A description of the state machine."},"states":{"items":{"$ref":"#/components/schemas/State"},"type":"array","title":"States","description":"The states in this state machine."},"new_user_initial_state":{"type":"string","title":"New User Initial State","description":"The state a new user will be in when a session starts. This must be an action state."},"returning_user_initial_state":{"type":"string","title":"Returning User Initial State","description":"The state a returning user will be in when a session starts. This must be an action state."},"terminal_state":{"type":"string","title":"Terminal State","description":"The state the user will be in when the session ends. This must be an action state."},"references":{"additionalProperties":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},"type":"object","title":"References","description":"A dictionary of other service hierarchical state machine versions that this references to. This field is a map of the reference name to the machine's ID and its version number."},"global_intra_state_navigation_guidelines":{"items":{"type":"string"},"type":"array","title":"Global Intra State Navigation Guidelines","description":"A list of guidelines for how the agent will navigate between subgoals and exit conditions within this state. This is injected into the `intra_state_navigation_guidelines` field of every action state."},"global_action_guidelines":{"items":{"type":"string"},"type":"array","title":"Global Action Guidelines","description":"A list of guidelines for how the agent will behave when engaging with user. This is injected into the `action_guidelines` field of every action state."},"global_boundary_constraints":{"items":{"type":"string"},"type":"array","title":"Global Boundary Constraints","description":"A list of guidelines for how the agent will not behave when engaging with user. This is injected into the `boundary_constraints` field of every action state."}},"type":"object","required":["org_id","service_hierarchical_state_machine_id","version","created_at","creator","description","states","new_user_initial_state","returning_user_initial_state","terminal_state","references","global_intra_state_navigation_guidelines","global_action_guidelines","global_boundary_constraints"],"title":"ServiceHierarchicalStateMachineInstance"},"ServiceInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier of the service."},"name":{"type":"string","title":"Name","description":"The name of the service."},"version_sets":{"additionalProperties":{"$ref":"#/components/schemas/VersionSet-Output"},"type":"object","title":"Version Sets","description":"The available version sets of the service."},"description":{"type":"string","title":"Description","description":"A description of the service."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the service is active."},"service_hierarchical_state_machine_id":{"type":"string","title":"Service Hierarchical State Machine Id","description":"The ID of the state machine that this service uses."},"agent_id":{"type":"string","title":"Agent Id","description":"The ID of the agent that this service uses."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the service."},"keyterms":{"items":{"type":"string"},"type":"array","title":"Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service__Service__UserInfo","description":"The user who created the service."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service__Service__UserInfo","description":"The user who last updated the service."}},"type":"object","required":["id","name","version_sets","description","is_active","service_hierarchical_state_machine_id","agent_id","tags","keyterms","creator","updated_by"],"title":"ServiceInstance"},"SimulationConversationInvocationSource":{"properties":{"type":{"type":"string","const":"simulation-conversation","title":"Type","default":"simulation-conversation"},"simulation_unit_test_set_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Simulation Unit Test Set Run Id"},"unit_test_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit Test Id"},"run_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Run Index"},"invocation_metadata":{"$ref":"#/components/schemas/AgentFrameworkInvocationMetadata","description":"Metadata about the invocation."}},"type":"object","required":["simulation_unit_test_set_run_id","unit_test_id","run_index","invocation_metadata"],"title":"SimulationConversationInvocationSource"},"SimulationEvaluationSource":{"properties":{"type":{"type":"string","const":"simulation","title":"Type","default":"simulation"},"simulation_unit_test_set_run_id":{"type":"string","title":"Simulation Unit Test Set Run Id"},"unit_test_id":{"type":"string","title":"Unit Test Id"},"run_index":{"type":"integer","title":"Run Index"},"references":{"items":{"type":"string"},"type":"array","title":"References","description":"A list of messages that were used to compute this metric."}},"type":"object","required":["simulation_unit_test_set_run_id","unit_test_id","run_index","references"],"title":"SimulationEvaluationSource"},"SimulationPersonaInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the simulation persona."},"name":{"type":"string","title":"Name","description":"The name of the simulation persona."},"role":{"type":"string","title":"Role","description":"The role of the simulation persona."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation persona."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the simulation persona is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp when the simulation persona was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo","description":"The user who created the simulation persona."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The timestamp when the simulation persona was last updated."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo","description":"The user who last updated the simulation persona."}},"type":"object","required":["id","name","role","tags","is_deleted","created_at","creator","updated_at","updated_by"],"title":"SimulationPersonaInstance"},"SimulationPersonaVersion":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"simulation_persona_id":{"type":"string","title":"Simulation Persona Id","description":"The ID of the simulation persona that this is a version of."},"version":{"type":"integer","title":"Version","description":"The version number of the simulation persona."},"background":{"type":"string","title":"Background","description":"The background of the simulation persona."},"preferred_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language of the simulation persona in the ISO 639-3 format. If unspecified, the language of the agent is used."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","description":"The timezone of the simulation persona in the IANA tz database format. If unspecified, UTC is used."},"user_models":{"items":{"type":"string"},"type":"array","title":"User Models","description":"The user models associated with the simulation persona."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"type":"object","title":"Nonsensitive User Variables","description":"A dictionary of the simulation persona's nonsensitive user variables that are provided to the tools."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"type":"object","title":"Sensitive User Variables","description":"A dictionary of the simulation persona's sensitive user variables that are provided to the tools. Unlike the ones in the user collection, these are not encrypted,\nso only sensitive information in staging environment should be stored here.","default":{}},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona_version__SimulationPersonaVersion__UserInfo","description":"The user who created this simulation persona version."}},"type":"object","required":["_id","org_id","simulation_persona_id","version","background","preferred_language","timezone","user_models","nonsensitive_user_variables","creator"],"title":"SimulationPersonaVersion"},"SimulationScenarioInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the simulation scenario."},"name":{"type":"string","title":"Name","description":"The name of the simulation scenario."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation scenario."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the simulation scenario is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp when the simulation scenario was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo","description":"The user who created the simulation scenario."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The timestamp when the simulation scenario was last updated."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo","description":"The user who last updated the simulation scenario."}},"type":"object","required":["id","name","tags","is_deleted","created_at","creator","updated_at","updated_by"],"title":"SimulationScenarioInstance"},"SimulationScenarioVersion":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"simulation_scenario_id":{"type":"string","title":"Simulation Scenario Id","description":"The ID of the simulation scenario that this is a version of."},"version":{"type":"integer","title":"Version","description":"The version number of the simulation scenario."},"objective":{"type":"string","title":"Objective","description":"The objective of the simulation scenario."},"instructions":{"type":"string","title":"Instructions","description":"The instructions for the simulation scenario."},"initial_message_type":{"$ref":"#/components/schemas/InitialMessageType"},"conversation_starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversation Starts At","description":"The time at which the conversation starts. This must be a timestamp in UTC. If not specified, the current server time is used."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario_version__SimulationScenarioVersion__UserInfo","description":"The user who created this simulation scenario version."}},"type":"object","required":["_id","org_id","simulation_scenario_id","version","objective","instructions","initial_message_type","conversation_starts_at","creator"],"title":"SimulationScenarioVersion"},"SimulationUnitTest":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the unit test."},"description":{"type":"string","title":"Description","description":"A description of the unit test."},"service_id":{"type":"string","title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"type":"string","title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"type":"string","title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"type":"integer","title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"items":{"$ref":"#/components/schemas/SuccessCriterion-Output"},"type":"array","title":"Success Criterions","description":"The success criterions for the unit test."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation persona."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"}},"type":"object","required":["_id","org_id","name","description","service_id","service_version_set_name","persona_id","scenario_id","max_interactions","success_criterions","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTest"},"SimulationUnitTestInstance":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the unit test."},"description":{"type":"string","title":"Description","description":"A description of the unit test."},"service_id":{"type":"string","title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"type":"string","title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"type":"string","title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"type":"integer","title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"items":{"$ref":"#/components/schemas/SuccessCriterion-Output"},"type":"array","title":"Success Criterions","description":"The success criterions for the unit test."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation persona."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"}},"type":"object","required":["id","org_id","name","description","service_id","service_version_set_name","persona_id","scenario_id","max_interactions","success_criterions","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTestInstance"},"SimulationUnitTestSet":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the simulation unit test set."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the simulation unit test set."},"unit_test_runs":{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Output"},"type":"array","title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"last_triggered_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered Run Id","description":"The last unit test set run that was triggered."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test set has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation unit test set."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"}},"type":"object","required":["_id","org_id","name","description","unit_test_runs","last_triggered_run_id","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTestSet"},"SimulationUnitTestSetInstance":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the simulation unit test set."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the simulation unit test set."},"unit_test_runs":{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Output"},"type":"array","title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"last_triggered_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered Run Id","description":"The last unit test set run that was triggered."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test set has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation unit test set."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"}},"type":"object","required":["id","org_id","name","description","unit_test_runs","last_triggered_run_id","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTestSetInstance"},"SimulationUnitTestSetRunInstance":{"properties":{"org_id":{"type":"string","title":"Org Id"},"id":{"type":"string","title":"Id"},"is_completed":{"type":"boolean","title":"Is Completed","description":"Whether the simulation unit test set run is completed."},"simulation_unit_test_set_id":{"type":"string","title":"Simulation Unit Test Set Id","description":"The simulation unit test set that this run belongs to."},"failed_metrics":{"type":"boolean","title":"Failed Metrics","description":"Whether the unit test run has failed. If any of the unit test runs have failed, the unit test set run will be marked as failed, even if others might still be ongoing."},"errored":{"type":"boolean","title":"Errored","description":"Whether the unit test set run has encountered an error."},"artifacts_generated":{"type":"boolean","title":"Artifacts Generated","description":"Whether the artifacts for this unit test set run have been generated."},"unit_test_run_specs":{"items":{"$ref":"#/components/schemas/UnitTestRunSpec"},"type":"array","title":"Unit Test Run Specs","description":"The unit test run specs for the unit test set run. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTestSet` permission. Otherwise, it is an empty list."},"unit_test_run_results":{"items":{"anyOf":[{"$ref":"#/components/schemas/UnitTestRunResult"},{"type":"null"}]},"type":"array","title":"Unit Test Run Results","description":"The unit test run results for the unit test set run. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTestSet` permission. Otherwise, it is an empty list."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The date and time when the unit test set run was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UserInfo","description":"The user who created the unit test set run."}},"type":"object","required":["org_id","id","is_completed","simulation_unit_test_set_id","failed_metrics","errored","artifacts_generated","unit_test_run_specs","unit_test_run_results","created_at","creator"],"title":"SimulationUnitTestSetRunInstance"},"State":{"oneOf":[{"$ref":"#/components/schemas/ActionState-Output"},{"$ref":"#/components/schemas/DecisionState-Output"},{"$ref":"#/components/schemas/RecallState-Output"},{"$ref":"#/components/schemas/AnnotationState-Output"},{"$ref":"#/components/schemas/ReflectionState-Output"},{"$ref":"#/components/schemas/ToolCallState-Output"}],"discriminator":{"propertyName":"type","mapping":{"action":"#/components/schemas/ActionState-Output","annotation":"#/components/schemas/AnnotationState-Output","decision":"#/components/schemas/DecisionState-Output","recall":"#/components/schemas/RecallState-Output","reflection":"#/components/schemas/ReflectionState-Output","tool-call":"#/components/schemas/ToolCallState-Output"}}},"StateMachineInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the state machine."},"name":{"type":"string","title":"Name","description":"The name of the state machine."},"deprecated":{"type":"boolean","title":"Deprecated","description":"Whether the state machine has been deprecated."},"latest_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Version","description":"The latest version of the state machine. If `None`, no version for the state machine exists."}},"type":"object","required":["id","name","deprecated","latest_version"],"title":"StateMachineInstance"},"StateOrRefName":{"type":"string","pattern":"^[A-Za-z0-9_]+$"},"StateTransitionInvocationMetadata":{"properties":{"type":{"type":"string","const":"state-transition","title":"Type","default":"state-transition"},"current_state_machine_and_version":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Current State Machine And Version","description":"The ID and version of the state machine that is currently being executed."},"state_name":{"type":"string","title":"State Name","description":"The name of the state during which the tool was invoked."},"state_transition_index":{"type":"integer","title":"State Transition Index","description":"The index of the state transition during which the tool was invoked. As an example, the first state processing that occurs during this state machine navigation process has index 1."},"tool_call_round_index":{"type":"integer","title":"Tool Call Round Index","description":"The index of the tool call round."}},"type":"object","required":["current_state_machine_and_version","state_name","state_transition_index","tool_call_round_index"],"title":"StateTransitionInvocationMetadata"},"StateTransitionLog":{"oneOf":[{"$ref":"#/components/schemas/ActionStateTransitionLog"},{"$ref":"#/components/schemas/DecisionStateTransitionLog"},{"$ref":"#/components/schemas/RecallStateTransitionLog"},{"$ref":"#/components/schemas/JumpbackStateTransitionLog"},{"$ref":"#/components/schemas/AnnotationStateTransitionLog"},{"$ref":"#/components/schemas/ReflectionStateTransitionLog"},{"$ref":"#/components/schemas/ToolCallStateTransitionLog"}],"discriminator":{"propertyName":"type","mapping":{"action":"#/components/schemas/ActionStateTransitionLog","annotation":"#/components/schemas/AnnotationStateTransitionLog","decision":"#/components/schemas/DecisionStateTransitionLog","jumpback":"#/components/schemas/JumpbackStateTransitionLog","recall":"#/components/schemas/RecallStateTransitionLog","reflection":"#/components/schemas/ReflectionStateTransitionLog","tool-call":"#/components/schemas/ToolCallStateTransitionLog"}}},"StrippedNonemptyString_A-Z______":{"type":"string","minLength":1,"pattern":"[A-Z_]+"},"StrippedNonemptyString_A-Za-z0-9_-______MaxLen_max_length_40_":{"type":"string","maxLength":40,"minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"StrippedNonemptyString___w__s_____":{"type":"string","minLength":1,"pattern":"^[\\w\\s]+$"},"StrippedNonemptyString___w__s______":{"type":"string","minLength":1,"pattern":"^[\\w\\s_]+$"},"StrippedNonemptyString_a-z-______":{"type":"string","maxLength":20,"minLength":1,"pattern":"^[a-z-]+$"},"StrippedNonemptyString_a-z-_____a-z-____0_2____":{"type":"string","minLength":1,"pattern":"^[a-z-]+( [a-z-]+){0,2}$"},"StrippedNonemptyString_a-z0-9______":{"type":"string","minLength":1,"pattern":"^[a-z0-9_]+$"},"StrippedNonemptyString_a-z___a-z0-9_______":{"type":"string","minLength":1,"pattern":"^[a-z_][a-z0-9_]+$"},"StrippedNonemptyString_a-z___a-z0-9___lambda__at_0xffff79b98f60__":{"type":"string","minLength":1,"pattern":"^[a-z_][a-z0-9_]+$"},"SucceededInvocationResult":{"properties":{"succeeded":{"type":"boolean","const":true,"title":"Succeeded","default":true},"output":{"type":"string","title":"Output","description":"The output of the tool invocation."},"duration_ms":{"type":"integer","title":"Duration Ms","description":"The duration of the tool invocation in milliseconds."}},"type":"object","required":["output","duration_ms"],"title":"SucceededInvocationResult"},"SucceededInvocationStatus":{"properties":{"succeeded":{"type":"boolean","const":true,"title":"Succeeded","default":true},"output":{"type":"string","title":"Output","description":"The output produced by the tool invocation."}},"type":"object","required":["output"],"title":"SucceededInvocationStatus"},"SuccessCriterion-Output":{"properties":{"name":{"type":"string","title":"Name"},"metric_id":{"type":"string","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Output"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"SuccessCriterionDescription-Input":{"oneOf":[{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Input"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Input","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"SuccessCriterionDescription-Output":{"oneOf":[{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Output"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Output","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"Tag":{"properties":{"key":{"type":"string","title":"Key"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["key","value"],"title":"Tag"},"TemporaryPermissionGrant":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"user_id":{"type":"string","title":"User Id","description":"The ID of the user that this grant applies to."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"The time at which this temporary permission grant expires."},"permission_grant":{"$ref":"#/components/schemas/PermissionGrant-Output","description":"The permission grant to give to the user."},"justification":{"type":"string","title":"Justification","description":"The reason for offering this permission grant."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__temporary_permission_grant__TemporaryPermissionGrant__UserInfo","description":"The creator of this permission grant."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the permission grant."}},"type":"object","required":["_id","org_id","user_id","expires_at","permission_grant","justification","creator","tags"],"title":"TemporaryPermissionGrant","description":"A temporary permission grant provides an user additional permission grants beyond what their role allows for a limited amount of time."},"ToolCallEndedEvent":{"properties":{"type":{"type":"string","const":"tool-call-ended","title":"Type","default":"tool-call-ended"},"tool_round_index":{"type":"integer","title":"Tool Round Index","description":"Within the current LLM interaction, the round of tool call."},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool being called."},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the tool being called."},"input_parameters":{"additionalProperties":true,"type":"object","title":"Input Parameters","description":"The input parameters for the tool call."},"result":{"type":"string","title":"Result","description":"The result of the tool call."},"duration":{"type":"number","title":"Duration","description":"The duration of the tool call in seconds."}},"type":"object","required":["tool_round_index","tool_id","tool_version","input_parameters","result","duration"],"title":"ToolCallEndedEvent","description":"Indicating that the agent has finished executing a tool."},"ToolCallLog":{"properties":{"tool_name":{"type":"string","title":"Tool Name","description":"The name of the tool that was called."},"tool_id":{"type":"string","title":"Tool Id","description":"The identifier of the tool that was called."},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the tool that was called."},"input":{"additionalProperties":true,"type":"object","title":"Input","description":"The input to the tool call."},"output":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output","description":"The output of the tool call. If `None`, the tool call's output is ephemeral and not stored."},"duration":{"type":"number","title":"Duration","description":"The duration of the tool call in seconds."}},"type":"object","required":["tool_name","tool_id","tool_version","input","output","duration"],"title":"ToolCallLog"},"ToolCallStartedEvent":{"properties":{"type":{"type":"string","const":"tool-call-started","title":"Type","default":"tool-call-started"},"tool_round_index":{"type":"integer","title":"Tool Round Index","description":"Within the current LLM interaction, the round of tool call."},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool being called."},"tool_version":{"type":"string","title":"Tool Version","description":"The version of the tool being called."},"input_params":{"additionalProperties":true,"type":"object","title":"Input Params","description":"The input parameters for the tool call."}},"type":"object","required":["tool_round_index","tool_id","tool_version","input_params"],"title":"ToolCallStartedEvent","description":"Indicating that the agent has started executing a tool."},"ToolCallState-Input":{"properties":{"type":{"type":"string","const":"tool-call","title":"Type"},"name":{"$ref":"#/components/schemas/StateOrRefName"},"next_state":{"anyOf":[{"$ref":"#/components/schemas/StateOrRefName"},{"prefixItems":[{"$ref":"#/components/schemas/ExternalStateName"},{"$ref":"#/components/schemas/StateOrRefName"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State"},"designated_tool":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec"},"designated_tool_call_params_generation_audio_fillers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":5,"title":"Designated Tool Call Params Generation Audio Fillers"},"designated_tool_call_params_generation_audio_filler_triggered_after":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Designated Tool Call Params Generation Audio Filler Triggered After"},"designated_tool_call_objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"designated_tool_call_context":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"designated_tool_call_guidances":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Designated Tool Call Guidances"},"designated_tool_call_validations":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Designated Tool Call Validations"},"tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec"},"type":"array","title":"Tool Call Specs"}},"type":"object","required":["type","name","next_state","designated_tool","designated_tool_call_params_generation_audio_fillers","designated_tool_call_params_generation_audio_filler_triggered_after","designated_tool_call_objective","designated_tool_call_context","designated_tool_call_guidances","designated_tool_call_validations","tool_call_specs"],"title":"ToolCallState"},"ToolCallState-Output":{"properties":{"type":{"type":"string","const":"tool-call","title":"Type"},"name":{"type":"string","title":"Name","description":"The name of this state."},"next_state":{"anyOf":[{"type":"string"},{"prefixItems":[{"type":"string"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2}],"title":"Next State","description":"The state to transition to after the inner thought message is generated. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph."},"designated_tool":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec","description":"The tool that the agent is to call in this state."},"designated_tool_call_params_generation_audio_fillers":{"items":{"type":"string"},"type":"array","title":"Designated Tool Call Params Generation Audio Fillers","description":"A list of audio fillers to play in audio mode if the designated tool call's input generation is taking a long time."},"designated_tool_call_params_generation_audio_filler_triggered_after":{"type":"number","title":"Designated Tool Call Params Generation Audio Filler Triggered After","description":"The number of seconds to wait after the designated tool call params generation starts before playing an audio filler."},"designated_tool_call_objective":{"type":"string","title":"Designated Tool Call Objective","description":"The objective that the agent is to achieve when generating the input to the designated tool. High-level optimization goal defining what \"ideal\" means for this state. Frames the strategic\nintent and success criteria, not the technical tool description. Focuses on user value and conversation progress."},"designated_tool_call_context":{"type":"string","title":"Designated Tool Call Context","description":"The context that the agent can use when generating the input to the designated tool. The minimal information gap this tool state closes within the conversation flow. Explains what's missing\nupstream and how this tool execution bridges to downstream states. Should be brief and only included when the tool's purpose isn't self-evident from the topology."},"designated_tool_call_guidances":{"items":{"type":"string"},"type":"array","title":"Designated Tool Call Guidances","description":"The guidance that the agent must follow when generating the input to the designated tool. Best practices and proven patterns for constructing quality payloads. Practical tips and heuristics\nto guide decisions. Suggestions, not strict requirements. Leave empty if tool schema and objective are self-explanatory."},"designated_tool_call_validations":{"items":{"type":"string"},"type":"array","title":"Designated Tool Call Validations","description":"A list of validations that the agent must ensure are satisfied when generating the input to the designated tool. Strict constraints that MUST be satisfied before payload handoff. Hard requirements\nand invariants verified before execution. Pass/fail checks, not suggestions. Leave empty if only schema compliance is required."},"tool_call_specs":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec"},"type":"array","title":"Tool Call Specs","description":"A list of tool calls that the agent can make to help generating the input to the designated tool."}},"type":"object","required":["type","name","next_state","designated_tool","designated_tool_call_params_generation_audio_fillers","designated_tool_call_params_generation_audio_filler_triggered_after","designated_tool_call_objective","designated_tool_call_context","designated_tool_call_guidances","designated_tool_call_validations","tool_call_specs"],"title":"ToolCallState","description":"A state that executes a tool call."},"ToolCallStateInvocationMetadata":{"properties":{"type":{"type":"string","const":"tool-call-state","title":"Type","default":"tool-call-state"},"current_state_machine_and_version":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Current State Machine And Version","description":"The ID and version of the state machine that is currently being executed."},"state_name":{"type":"string","title":"State Name","description":"The name of the state during which the tool was invoked."}},"type":"object","required":["current_state_machine_and_version","state_name"],"title":"ToolCallStateInvocationMetadata"},"ToolCallStateTransitionLog":{"properties":{"previous_state":{"type":"string","title":"Previous State","description":"Name of the previous state to transition from."},"previous_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Previous Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the previous state is in."},"next_state":{"type":"string","title":"Next State","description":"Name of the next state to transition to."},"next_service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Next Service Hierarchical State Machine Version Info","description":"The identifier of the service hierarchical state machine that the next state is in."},"type":{"type":"string","const":"tool-call","title":"Type","description":"The type of the state transition log, which is the type of the state we're transitioning from.","default":"tool-call"},"tool_call_logs":{"items":{"items":{"$ref":"#/components/schemas/ToolCallLog"},"type":"array"},"type":"array","title":"Tool Call Logs","description":"A list of tool call logs that were performed during this state, except for the tool call for the designated tool call."},"designated_tool_call_log":{"$ref":"#/components/schemas/ToolCallLog","description":"The tool call log for the designated tool call in this state."}},"type":"object","required":["previous_state","previous_service_hierarchical_state_machine_version_info","next_state","next_service_hierarchical_state_machine_version_info","tool_call_logs","designated_tool_call_log"],"title":"ToolCallStateTransitionLog"},"ToolInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier fo the tool."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the tool."},"description":{"type":"string","title":"Description","description":"A description of the tool. This description will be used to describe the tool to the LLM."},"deprecated":{"type":"boolean","title":"Deprecated","description":"Whether the tool is deprecated. Deprecated tools are not usable."},"envvars":{"items":{"type":"string"},"type":"array","title":"Envvars","description":"A list of environment variables that some versions of this tool uses."},"secret_envvars":{"items":{"type":"string"},"type":"array","title":"Secret Envvars","description":"A list of encrypted environment variables that some versions of this tool uses."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation persona."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__tool__Tool__UserInfo","description":"The user who created this tool."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__tool__Tool__UserInfo","description":"The user who last updated this tool."}},"type":"object","required":["id","org_id","name","description","deprecated","envvars","secret_envvars","tags","creator","updated_by"],"title":"ToolInstance"},"ToolInvocationInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the tool invocation."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"invocation_status":{"$ref":"#/components/schemas/InvocationStatus","description":"The status of the tool invocation."},"invocation_source":{"$ref":"#/components/schemas/InvocationSource","description":"The source of the tool invocation."},"duration_ms":{"type":"integer","title":"Duration Ms","description":"The duration of the tool invocation in milliseconds."},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool that was invoked."},"tool_version":{"$ref":"#/components/schemas/Version","description":"The version of the tool that was invoked."},"inputs":{"additionalProperties":true,"type":"object","title":"Inputs","description":"The input parameters to the tool."}},"type":"object","required":["id","org_id","invocation_status","invocation_source","duration_ms","tool_id","tool_version","inputs"],"title":"ToolInvocationInstance"},"ToolVersionInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The identifier of the tool version."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool that this version belongs to."},"version":{"$ref":"#/components/schemas/Version","description":"The version of the tool."},"required_envvars":{"items":{"type":"string"},"type":"array","title":"Required Envvars","description":"The environment variables that are required to run the tool."},"required_secret_envvars":{"items":{"type":"string"},"type":"array","title":"Required Secret Envvars","description":"The secret environment variables that are required to run the tool."},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema","description":"The input schema of the tool."},"tool_commit_hash":{"type":"string","title":"Tool Commit Hash","description":"The commit hash of the tool within the repository."},"amigo_scaffold_commit_hash":{"type":"string","title":"Amigo Scaffold Commit Hash","description":"The commit hash of the Amigo scaffold that this tool version was created with."},"project_directory":{"type":"string","title":"Project Directory","description":"The project directory of the tool."},"lambda_version":{"type":"integer","title":"Lambda Version","description":"The version of the Lambda function that corresponds to this tool version."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__tool_version__ToolVersion__UserInfo","description":"The user who created the tool version."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__tool_version__ToolVersion__UserInfo","description":"The user who last updated the tool version."},"deprecated":{"type":"boolean","title":"Deprecated","description":"Whether the tool version is deprecated. Deprecated tool versions are not usable and do not participate in version resolution."}},"type":"object","required":["id","org_id","tool_id","version","required_envvars","required_secret_envvars","input_schema","tool_commit_hash","amigo_scaffold_commit_hash","project_directory","lambda_version","creator","updated_by","deprecated"],"title":"ToolVersionInstance"},"UnitTestRunDescriptor-Input":{"properties":{"unit_test_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Unit Test Id"},"run_count":{"type":"integer","exclusiveMinimum":0.0,"title":"Run Count","description":"The number of times to run the unit test."}},"type":"object","required":["unit_test_id","run_count"],"title":"UnitTestRunDescriptor"},"UnitTestRunDescriptor-Output":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id"},"run_count":{"type":"integer","title":"Run Count"}},"type":"object","required":["unit_test_id","run_count"],"title":"UnitTestRunDescriptor"},"UnitTestRunResult":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id","description":"ID of the unit test that was run."},"metric_evaluation_results":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UnitTestRunResult__MetricEvaluationResult"},"type":"array","title":"Metric Evaluation Results","description":"The metric evaluation results for the unit test run. There's as many elements in this list as there are metrics to evaluate for this unit test.\nThis field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission. Otherwise, it is an empty list."},"run_errors":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Run Errors","description":"A list of errors that each run of this unit test has encountered. If the ith entry is `None`, it means that the run has not errored."}},"type":"object","required":["unit_test_id","metric_evaluation_results","run_errors"],"title":"UnitTestRunResult"},"UnitTestRunSpec":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id","description":"ID of the unit test to run."},"run_count":{"type":"integer","title":"Run Count","description":"The number of times to run the unit test."},"service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Service Hierarchical State Machine Version Info","description":"The version of the service hierarchical state machine that the unit test runs on."},"agent_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Agent Version Info","description":"The version of the agent that the unit test runs on."},"scenario_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Scenario Version Info","description":"The version of the scenario that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission."},"persona_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Persona Version Info","description":"The version of the persona that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission."},"llm_model_preferences":{"additionalProperties":{"$ref":"#/components/schemas/LLMConfig-Output"},"type":"object","title":"Llm Model Preferences","description":"The LLM model preferences for the unit test run."},"max_interactions":{"type":"integer","title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"metrics_to_evaluate":{"items":{"$ref":"#/components/schemas/MetricToEvaluate"},"type":"array","title":"Metrics To Evaluate","description":"The metrics to evaluate for the unit test run. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission. Otherwise, it is an empty list."}},"type":"object","required":["unit_test_id","run_count","service_hierarchical_state_machine_version_info","agent_version_info","scenario_version_info","persona_version_info","llm_model_preferences","max_interactions","metrics_to_evaluate"],"title":"UnitTestRunSpec"},"UpdateRequest":{"properties":{"name":{"$ref":"#/components/schemas/StrippedNonemptyString_A-Z______","description":"The name of the environment variable to update."},"value":{"type":"string","title":"Value","description":"The value of the environment variable to update."}},"type":"object","required":["name","value"],"title":"UpdateRequest"},"UpsertRequest":{"properties":{"name":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______","description":"The name of the variable to upsert."},"value":{"type":"string","maxLength":255,"minLength":1,"title":"Value","description":"The value of the variable to upsert."},"is_secret":{"type":"boolean","title":"Is Secret","description":"Whether the variable is a secret."}},"type":"object","required":["name","value","is_secret"],"title":"UpsertRequest"},"UserDimension-Input":{"properties":{"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"tags":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Tags"}},"type":"object","required":["description","tags"],"title":"UserDimension"},"UserDimension-Output":{"properties":{"description":{"type":"string","title":"Description"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"}},"type":"object","required":["description","tags"],"title":"UserDimension"},"UserMessageAudioConfig":{"oneOf":[{"$ref":"#/components/schemas/MP3UserMessageAudioConfig"},{"$ref":"#/components/schemas/PCMUserMessageAudioConfig"}],"discriminator":{"propertyName":"type","mapping":{"mp3":"#/components/schemas/MP3UserMessageAudioConfig","pcm":"#/components/schemas/PCMUserMessageAudioConfig"}}},"UserMessageAvailableEvent":{"properties":{"type":{"type":"string","const":"user-message-available","title":"Type","default":"user-message-available"},"message_id":{"type":"string","title":"Message Id","description":"The identifier of the user message."},"user_message":{"type":"string","title":"User Message","description":"The text of the user message."}},"type":"object","required":["message_id","user_message"],"title":"UserMessageAvailableEvent","description":"Emitted when the full text of the user message is available. In particular, for voice messages, this event is emitted when the transcription of the user message is complete. It's the first event in the response stream."},"UserModel":{"properties":{"content":{"type":"string","title":"Content"},"insight_ids":{"items":{"type":"string"},"type":"array","title":"Insight Ids"},"dimensions":{"items":{"$ref":"#/components/schemas/UserDimension-Output"},"type":"array","title":"Dimensions"}},"type":"object","required":["content","insight_ids","dimensions"],"title":"UserModel"},"UserStats":{"properties":{"num_conversations":{"type":"integer","title":"Num Conversations","description":"The number of conversations the user has created."},"num_messages":{"type":"integer","title":"Num Messages","description":"The number of messages the user has sent and received."},"last_message_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message Time","description":"The time of the last message the user sent or received. If `None`, the user hasn't started any conversations."}},"type":"object","required":["num_conversations","num_messages","last_message_time"],"title":"UserStats"},"Verb":{"type":"string","enum":["==","!=","<=","<",">=",">"]},"Version":{"properties":{"major":{"type":"integer","title":"Major"},"minor":{"type":"integer","title":"Minor"},"patch":{"type":"integer","title":"Patch"}},"type":"object","required":["major","minor","patch"],"title":"Version"},"VersionComponent":{"anyOf":[{"type":"integer"},{"type":"string","const":"latest"}]},"VersionSet-Input":{"properties":{"agent_version_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agent Version Number","description":"The version number of the agent to be used. If None, the latest agent version will be used."},"service_hierarchical_state_machine_version_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Hierarchical State Machine Version Number","description":"The version number of the state machine to be used. If None, the latest state machine version will be used."},"llm_model_preferences":{"additionalProperties":{"$ref":"#/components/schemas/LLMConfig-Input"},"type":"object","title":"Llm Model Preferences"}},"type":"object","required":["agent_version_number","service_hierarchical_state_machine_version_number","llm_model_preferences"],"title":"VersionSet"},"VersionSet-Output":{"properties":{"agent_version_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agent Version Number","description":"The version number of the agent to be used. If None, the latest agent version will be used."},"service_hierarchical_state_machine_version_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Hierarchical State Machine Version Number","description":"The version number of the state machine to be used. If None, the latest state machine version will be used."},"llm_model_preferences":{"additionalProperties":{"$ref":"#/components/schemas/LLMConfig-Output"},"type":"object","title":"Llm Model Preferences","description":"A map of `LLMInteraction` name to the preferred LLM config that can be used for that interaction.\nIf an `LLMInteraction` is not in this map, the default model config will be used (defined in each `LLMInteraction` instance)."}},"type":"object","required":["agent_version_number","service_hierarchical_state_machine_version_number","llm_model_preferences"],"title":"VersionSet","description":"A version set pins the agent, state machine, and model version used by this service."},"VersionSetInfo":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the version set. If the value is `unknown`, it means the conversation was created before this field was introduced and the version set name cannot be retroactively determined."},"agent_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Agent Version Info","description":"The ID of the agent and version number used in this conversation."},"service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Service Hierarchical State Machine Version Info","description":"The ID of the state machine and version number used in this conversation."},"llm_model_preferences":{"additionalProperties":{"$ref":"#/components/schemas/LLMConfig-Output"},"type":"object","title":"Llm Model Preferences","description":"The LLM model preferences for this version set."}},"type":"object","required":["name","agent_version_info","service_hierarchical_state_machine_version_info","llm_model_preferences"],"title":"VersionSetInfo"},"VoiceConfig":{"properties":{"voice_id":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"}},"type":"object","required":["voice_id"],"title":"VoiceConfig"},"VoiceConfigInstance":{"properties":{"voice_id":{"type":"string","title":"Voice Id","description":"The Cartesia voice ID for this agent."},"stability":{"type":"number","title":"Stability","default":0},"similarity_boost":{"type":"number","title":"Similarity Boost","default":0},"style":{"type":"number","title":"Style","default":0}},"type":"object","required":["voice_id"],"title":"VoiceConfigInstance"},"WebhookDeliveryInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the webhook delivery."},"type":{"type":"string","title":"Type","description":"The type of the webhook."},"webhook_content":{"additionalProperties":true,"type":"object","title":"Webhook Content","description":"The body of the webhook."},"status":{"$ref":"#/components/schemas/WebhookDeliveryStatus","description":"The status of the webhook delivery."},"delivery_attempts":{"items":{"$ref":"#/components/schemas/DeliveryAttempt"},"type":"array","title":"Delivery Attempts","description":"The delivery attempts of the webhook."},"dual_signed":{"type":"boolean","title":"Dual Signed","description":"Whether the webhook was signed with two secrets."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"In UTC time, when the webhook send request was received."}},"type":"object","required":["id","type","webhook_content","status","delivery_attempts","dual_signed","created_at"],"title":"WebhookDeliveryInstance"},"WebhookDeliveryStatus":{"type":"string","enum":["success","failed"]},"WebhookDestination":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url","description":"The URL to which the webhook events are sent."},"secret_generated_at":{"type":"string","format":"date-time","title":"Secret Generated At","description":"The UTC time at which the webhook secret was generated."},"retry_attempts":{"type":"integer","title":"Retry Attempts","description":"The number of attempts to retry sending the webhook event in case of failure."},"accepted_types":{"items":{"type":"string"},"type":"array","title":"Accepted Types","description":"A list of webhook types to receive."}},"type":"object","required":["id","url","secret_generated_at","retry_attempts","accepted_types"],"title":"WebhookDestination"},"WebhookType":{"type":"string","enum":["conversation-post-processing-complete","api-key-expiration-soon","agent-framework-resource-updated"]},"WorkingMemory":{"properties":{"content":{"type":"string","title":"Content","description":"The content of the memory."},"context":{"type":"string","title":"Context","description":"The context of the memory."}},"type":"object","required":["content","context"],"title":"WorkingMemory"},"_NotSet":{"properties":{},"type":"object","title":"_NotSet","description":"A specific type to indicate that a field is not set in the request."},"amigo_lib__agent__metric__MetricAgent__MetricEvaluationResult":{"properties":{"metric_id":{"type":"string","title":"Metric Id","description":"The ID of the metric for which this value was computed."},"value":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string"},{"type":"null"}],"title":"Value","description":"The value of the metric."},"references":{"items":{"type":"string"},"type":"array","title":"References","description":"A list of references to the messages that were used to compute this metric."},"justification":{"type":"string","title":"Justification","description":"A justification for the metric value."}},"type":"object","required":["metric_id","value","references","justification"],"title":"MetricEvaluationResult"},"amigo_lib__mongo__collections__agent__Agent__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__api_key__APIKey__UserInfo":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The user ID of the creator of this key."},"org_id":{"type":"string","title":"Org Id","description":"The organization ID of the creator of this key."}},"type":"object","required":["user_id","org_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__dynamic_behavior_set__DynamicBehaviorSet__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__dynamic_behavior_set_version__Action":{"oneOf":[{"$ref":"#/components/schemas/InjectInstructionAction-Output"},{"$ref":"#/components/schemas/ChangeToolCandidatesAction-Output"}],"discriminator":{"propertyName":"type","mapping":{"change-tool-candidates":"#/components/schemas/ChangeToolCandidatesAction-Output","inject-instruction":"#/components/schemas/InjectInstructionAction-Output"}}},"amigo_lib__mongo__collections__dynamic_behavior_set_version__DynamicBehaviorSetVersion__ChangeToolCandidatesAction__ToolCallSpec":{"properties":{"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool."},"version_constraint":{"type":"string","title":"Version Constraint","description":"A [Python packaging version constraint](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5) of the tool."},"additional_instruction":{"type":"string","title":"Additional Instruction","description":"Additional instruction to be supplied to the LLM in addition to the tool's description."},"audio_fillers":{"items":{"type":"string"},"type":"array","title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the tool is taking a long time."},"audio_filler_triggered_after":{"type":"number","title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."},"result_persistence":{"$ref":"#/components/schemas/ResultPersistence","description":"The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown."},"tool_name":{"type":"string","title":"Tool Name","description":"An identifier of the tool that will be displayed in the description of this dynamic behavior set. This could be simply the name of the tool, or one augmented with\nthe context of the dynamic behavior."}},"type":"object","required":["tool_id","version_constraint","additional_instruction","audio_fillers","audio_filler_triggered_after","result_persistence","tool_name"],"title":"ToolCallSpec"},"amigo_lib__mongo__collections__dynamic_behavior_set_version__DynamicBehaviorSetVersion__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__metric__Metric__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__metric_evaluation_result__MetricEvaluationResult__ManualEvaluationSource__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__metric_version__MetricVersion__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__service__Service__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__ToolCallSpec":{"properties":{"tool_id":{"type":"string","title":"Tool Id","description":"The ID of the tool."},"version_constraint":{"type":"string","title":"Version Constraint","description":"A [Python packaging version constraint](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5) of the tool."},"additional_instruction":{"type":"string","title":"Additional Instruction","description":"Additional instruction to be supplied to the LLM in addition to the tool's description."},"audio_fillers":{"items":{"type":"string"},"type":"array","title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the tool is taking a long time."},"audio_filler_triggered_after":{"type":"number","title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."},"result_persistence":{"$ref":"#/components/schemas/ResultPersistence","description":"The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown."}},"type":"object","required":["tool_id","version_constraint","additional_instruction","audio_fillers","audio_filler_triggered_after","result_persistence"],"title":"ToolCallSpec","description":"A description of a tool call that the agent can make in this state."},"amigo_lib__mongo__collections__service_hierarchical_state_machine__ServiceHierarchicalStateMachine__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_persona_version__SimulationPersonaVersion__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_scenario_version__SimulationScenarioVersion__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UnitTestRunResult__MetricEvaluationResult":{"properties":{"metric_id":{"type":"string","title":"Metric Id"},"metric_version":{"type":"integer","title":"Metric Version"},"results":{"items":{"prefixItems":[{"type":"string"},{"type":"boolean"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Results","description":"A list of tuples detailing the result of the evaluation of this metric. The first element of the tuple is the ID of the `MetricEvaluationResult` document, and the second element\nis whether the metric result has passed the evaluation."}},"type":"object","required":["metric_id","metric_version","results"],"title":"MetricEvaluationResult"},"amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__temporary_permission_grant__TemporaryPermissionGrant__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__tool__Tool__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"amigo_lib__mongo__collections__tool_version__ToolVersion__UserInfo":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The ID of the user."},"user_org_id":{"type":"string","title":"User Org Id","description":"The ID of the user's organization."}},"type":"object","required":["user_id","user_org_id"],"title":"UserInfo"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"amigo_lib__pydantic__base_model__StrippedNonemptyString__2":{"type":"string","maxLength":256,"minLength":1},"amigo_lib__pydantic__base_model__StrippedNonemptyString__3":{"type":"string","maxLength":3,"minLength":1},"amigo_lib__pydantic__base_model__StrippedNonemptyString__4":{"type":"string","maxLength":100,"minLength":1},"amigo_lib__pydantic__base_model__StrippedNonemptyString__5":{"type":"string","minLength":10},"src__app__amigo__service__conversation__Action":{"anyOf":[{"$ref":"#/components/schemas/SelectDynamicBehaviorAgentActionEvent"},{"$ref":"#/components/schemas/CheckIfActiveMemoryNeededAgentActionEvent"},{"$ref":"#/components/schemas/ExtractActiveMemoriesAgentActionEvent"},{"$ref":"#/components/schemas/NavigateStateMachineAgentActionEvent"},{"$ref":"#/components/schemas/EngageUserAgentActionEvent"}]},"src__app__endpoints__admin__get_models__Response":{"properties":{"models":{"items":{"$ref":"#/components/schemas/Model"},"type":"array","title":"Models"}},"additionalProperties":true,"type":"object","required":["models"],"title":"Response"},"src__app__endpoints__admin__submit_sql_query__Request":{"properties":{"sql_query":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The SQL query to execute."},"async_query":{"type":"boolean","const":false,"title":"Async Query","description":"Whether the query is asynchronous. If true, a signed URL will be returned to download the results once the query is complete. If false, the results will be returned in the response, but at most\n1000 rows will be returned, and the query is subject to a 30 second execution timeout."}},"type":"object","required":["sql_query","async_query"],"title":"Request"},"src__app__endpoints__admin__submit_sql_query__Response":{"properties":{"execution_time_ms":{"type":"integer","title":"Execution Time Ms","description":"The time taken to execute the query in milliseconds."},"result":{"items":{"items":{},"type":"array"},"type":"array","title":"Result","description":"The result of the query as a list of rows, where each row is a list of column values."},"truncated":{"type":"boolean","title":"Truncated","description":"Whether the result was truncated due to the row limit."},"columns":{"items":{"$ref":"#/components/schemas/Column"},"type":"array","title":"Columns","description":"Description of the columns in the result."}},"type":"object","required":["execution_time_ms","result","truncated","columns"],"title":"SyncQueryResponse"},"src__app__endpoints__conversation__create_conversation__Request":{"properties":{"service_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Service Id","description":"The identifier of the service to create a conversation in."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service to use. If not provided, the `release` version set is used.","default":"release"},"initial_message":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The initial user or agent inner thought message to send to the service. If not provided, the conversation will start with an agent message."},"initial_message_type":{"anyOf":[{"type":"string","enum":["user-message","external-event"]},{"type":"null"}],"title":"Initial Message Type","description":"The type of the `initial_message`. Can only be specified if `initial_message` is provided."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__4"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s______"},"type":"object","maxProperties":20,"title":"Tags","description":"A list of tags for the conversation. The key can only contain alphanumeric characters, underscores, or spaces. The value can only contain up to 100 characters.","default":{}}},"type":"object","required":["service_id"],"title":"Request"},"src__app__endpoints__conversation__create_conversation__Response":{"oneOf":[{"$ref":"#/components/schemas/ConversationCreatedEvent"},{"$ref":"#/components/schemas/NewMessageEvent"},{"$ref":"#/components/schemas/InteractionCompleteEvent"},{"$ref":"#/components/schemas/CurrentAgentActionEvent"},{"$ref":"#/components/schemas/ErrorEvent"}],"discriminator":{"propertyName":"type","mapping":{"conversation-created":"#/components/schemas/ConversationCreatedEvent","current-agent-action":"#/components/schemas/CurrentAgentActionEvent","error":"#/components/schemas/ErrorEvent","interaction-complete":"#/components/schemas/InteractionCompleteEvent","new-message":"#/components/schemas/NewMessageEvent"}}},"src__app__endpoints__conversation__generate_conversation_starter__Request":{"properties":{"service_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Service Id","description":"The identifier of the service to create a conversation starter for."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service to use. If not provided, the `release` version set is used.","default":"release"},"facets":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","minItems":1,"title":"Facets","description":"The facets that the generated conversation starter should be about. Each generated starter is related to some of these facets."},"min_count":{"type":"integer","maximum":10.0,"exclusiveMinimum":0.0,"title":"Min Count","description":"The minimum (inclusive) number of conversation starters to generate."},"max_count":{"type":"integer","maximum":10.0,"exclusiveMinimum":0.0,"title":"Max Count","description":"The maximum (inclusive) number of conversation starters to generate."},"generation_instructions":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The instruction for the conversation starter generation."}},"type":"object","required":["service_id","facets","min_count","max_count","generation_instructions"],"title":"Request"},"src__app__endpoints__conversation__generate_conversation_starter__Response":{"properties":{"prompts":{"items":{"$ref":"#/components/schemas/Prompt"},"type":"array","title":"Prompts","description":"The generated prompts."}},"type":"object","required":["prompts"],"title":"Response"},"src__app__endpoints__conversation__get_conversation_messages__Response":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/MessageInstance"},"type":"array","title":"Messages","description":"The retrieved messages."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more, earlier messages in the conversation to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next set of messages."}},"type":"object","required":["messages","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__conversation__get_conversations__Response":{"properties":{"conversations":{"items":{"$ref":"#/components/schemas/ConversationInstance"},"type":"array","title":"Conversations","description":"The conversations satisfying the filters."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more conversations to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of conversations. Only populated if `has_more` is `True`."}},"type":"object","required":["conversations","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__conversation__get_interaction_insights__Response":{"properties":{"current_state_name":{"type":"string","title":"Current State Name","description":"The state the agent is in."},"current_state_action":{"type":"string","title":"Current State Action","description":"The action taken in the current state."},"current_state_objective":{"type":"string","title":"Current State Objective","description":"The objective of the current state."},"state_transition_logs":{"items":{"$ref":"#/components/schemas/StateTransitionLog"},"type":"array","title":"State Transition Logs","description":"The state transition log of the interaction."},"working_memory":{"items":{"$ref":"#/components/schemas/WorkingMemory"},"type":"array","title":"Working Memory","description":"A list of active memories the agent used to generate the message."},"reflections":{"items":{"type":"string"},"type":"array","title":"Reflections","description":"A list of reflections the agent made during the generation of this message."},"triggered_dynamic_behavior_set_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Triggered Dynamic Behavior Set Version Info","description":"The ID and version number of the dynamic behavior set that was activated during this interaction."},"select_next_action_tool_call_logs":{"items":{"items":{"$ref":"#/components/schemas/ToolCallLog"},"type":"array"},"type":"array","title":"Select Next Action Tool Call Logs","description":"A list of tool call logs that were performed during the final `SelectNextAction` LLM call during this interaction where an action was selected."},"engage_user_tool_call_logs":{"items":{"items":{"$ref":"#/components/schemas/ToolCallLog"},"type":"array"},"type":"array","title":"Engage User Tool Call Logs","description":"A list of tool call logs that were performed during the `EngageUser` LLM call during this interaction."}},"type":"object","required":["current_state_name","current_state_action","current_state_objective","state_transition_logs","working_memory","reflections","triggered_dynamic_behavior_set_version_info","select_next_action_tool_call_logs","engage_user_tool_call_logs"],"title":"Response"},"src__app__endpoints__conversation__interact_with_conversation__Response":{"anyOf":[{"$ref":"#/components/schemas/ConversationEvent"},{"$ref":"#/components/schemas/UserMessageAvailableEvent"},{"$ref":"#/components/schemas/ErrorEvent"}]},"src__app__endpoints__conversation__modify_tags_of_conversation__Request":{"properties":{"updates":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Updates","description":"A mapping of tags to add or update on the conversation. Existing tags not included here remain unchanged.","default":{}},"deletes":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","uniqueItems":true,"title":"Deletes","description":"A list of tags to remove from the conversation.","default":[]}},"type":"object","title":"Request"},"src__app__endpoints__conversation__recommend_responses_for_interaction__Request":{"properties":{"context":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The context under which the recommended responses should be generated.","default":"\nPERSONA:\nName: User\nBackground: A typical person seeking this service.\n---\nSCENARIO:\nName: Complete Service\nObjective: Successfully complete the service interaction.\nInstructions: Engage naturally with the agent to achieve the service objective.\n"}},"type":"object","title":"Request"},"src__app__endpoints__conversation__recommend_responses_for_interaction__Response":{"properties":{"recommended_responses":{"items":{"type":"string"},"type":"array","title":"Recommended Responses","description":"The recommended responses to the user."}},"type":"object","required":["recommended_responses"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the dynamic behavior set."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the dynamic behavior set. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"applied_to_services":{"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"type":"array","title":"Applied To Services","description":"The services that the dynamic behavior set should be applied to."},"initial_version":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion","description":"The configuration for the initial version of the dynamic behavior set."}},"type":"object","required":["name","tags","applied_to_services","initial_version"],"title":"Request"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion":{"properties":{"is_active":{"type":"boolean","title":"Is Active","description":"After adding this initial version, whether the dynamic behavior set should be activated."},"conversation_triggers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":50,"minItems":1,"title":"Conversation Triggers","description":"The conversation triggers for the dynamic behavior set version."},"actions":{"items":{"oneOf":[{"$ref":"#/components/schemas/InjectInstructionAction-Input"},{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion__ChangeToolCandidatesAction"}],"discriminator":{"propertyName":"type","mapping":{"change-tool-candidates":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion__ChangeToolCandidatesAction","inject-instruction":"#/components/schemas/InjectInstructionAction-Input"}}},"type":"array","title":"Actions","description":"The action to perform when the dynamic behavior set version is activated."}},"type":"object","required":["is_active","conversation_triggers","actions"],"title":"InitialVersion"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion__ChangeToolCandidatesAction":{"properties":{"type":{"type":"string","const":"change-tool-candidates","title":"Type"},"tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion__ChangeToolCandidatesAction__ToolCallSpec"},"type":"array","title":"Tool Call Specs"},"overrides_existing_tool_call_specs":{"type":"boolean","title":"Overrides Existing Tool Call Specs","description":"During injection, whether the existing tool call specs are overriden with these new specs."}},"type":"object","required":["type","tool_call_specs","overrides_existing_tool_call_specs"],"title":"ChangeToolCandidatesAction"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Request__InitialVersion__ChangeToolCandidatesAction__ToolCallSpec":{"properties":{"tool_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Tool Id","description":"The ID of the tool."},"version_constraint":{"type":"string","title":"Version Constraint","description":"A [Python packaging version constraint](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5) of the tool."},"additional_instruction":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"Additional instruction to be supplied to the LLM in addition to the tool's description."},"audio_fillers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":5,"title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the tool is taking a long time."},"audio_filler_triggered_after":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."},"result_persistence":{"$ref":"#/components/schemas/ResultPersistence","description":"The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown."},"tool_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"An identifier of the tool that will be displayed in the description of this dynamic behavior set. This could be simply the name of the tool, or one augmented with\nthe context of the dynamic behavior."}},"type":"object","required":["tool_id","version_constraint","additional_instruction","audio_fillers","audio_filler_triggered_after","result_persistence","tool_name"],"title":"ToolCallSpec"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set__Response":{"properties":{"dynamic_behavior_set_id":{"type":"string","title":"Dynamic Behavior Set Id","description":"The ID of the newly created dynamic behavior set."}},"type":"object","required":["dynamic_behavior_set_id"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request":{"properties":{"conversation_triggers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":50,"minItems":1,"title":"Conversation Triggers","description":"The conversation triggers for the dynamic behavior set version."},"actions":{"items":{"oneOf":[{"$ref":"#/components/schemas/InjectInstructionAction-Input"},{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request__ChangeToolCandidatesAction"}],"discriminator":{"propertyName":"type","mapping":{"change-tool-candidates":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request__ChangeToolCandidatesAction","inject-instruction":"#/components/schemas/InjectInstructionAction-Input"}}},"type":"array","title":"Actions","description":"The action to perform when the dynamic behavior set version is activated."}},"type":"object","required":["conversation_triggers","actions"],"title":"Request"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request__ChangeToolCandidatesAction":{"properties":{"type":{"type":"string","const":"change-tool-candidates","title":"Type"},"tool_call_specs":{"items":{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request__ChangeToolCandidatesAction__ToolCallSpec"},"type":"array","title":"Tool Call Specs"},"overrides_existing_tool_call_specs":{"type":"boolean","title":"Overrides Existing Tool Call Specs","description":"During injection, whether the existing tool call specs are overriden with these new specs."}},"type":"object","required":["type","tool_call_specs","overrides_existing_tool_call_specs"],"title":"ChangeToolCandidatesAction"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Request__ChangeToolCandidatesAction__ToolCallSpec":{"properties":{"tool_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Tool Id","description":"The ID of the tool."},"version_constraint":{"type":"string","title":"Version Constraint","description":"A [Python packaging version constraint](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5) of the tool."},"additional_instruction":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"Additional instruction to be supplied to the LLM in addition to the tool's description."},"audio_fillers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":5,"title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the tool is taking a long time."},"audio_filler_triggered_after":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."},"result_persistence":{"$ref":"#/components/schemas/ResultPersistence","description":"The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown."},"tool_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"An identifier of the tool that will be displayed in the description of this dynamic behavior set. This could be simply the name of the tool, or one augmented with\nthe context of the dynamic behavior."}},"type":"object","required":["tool_id","version_constraint","additional_instruction","audio_fillers","audio_filler_triggered_after","result_persistence","tool_name"],"title":"ToolCallSpec"},"src__app__endpoints__dynamic_behavior_set__create_dynamic_behavior_set_version__Response":{"properties":{"new_version_number":{"type":"integer","title":"New Version Number","description":"The version number of the new version."}},"type":"object","required":["new_version_number"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_invocations__Response":{"properties":{"dynamic_behavior_invocations":{"items":{"$ref":"#/components/schemas/DynamicBehaviorInvocation"},"type":"array","title":"Dynamic Behavior Invocations","description":"The retrieved dynamic behavior invocations."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more dynamic behavior invocations to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of dynamic behavior invocations. Only populated if `has_more` is `True`."}},"type":"object","required":["dynamic_behavior_invocations","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_set_versions__Response":{"properties":{"dynamic_behavior_set_versions":{"items":{"$ref":"#/components/schemas/DynamicBehaviorSetVersion"},"type":"array","title":"Dynamic Behavior Set Versions","description":"The retrieved dynamic behavior set versions."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more dynamic behavior set versions to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of dynamic behavior set versions. Only populated if `has_more` is `True`."}},"type":"object","required":["dynamic_behavior_set_versions","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_sets__Response":{"properties":{"dynamic_behavior_sets":{"items":{"$ref":"#/components/schemas/DynamicBehaviorSetInstance"},"type":"array","title":"Dynamic Behavior Sets","description":"The retrieved dynamic behavior sets."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more dynamic behavior sets to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next set of dynamic behavior sets."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_sets__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the dynamic behavior sets, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["dynamic_behavior_sets","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__get_dynamic_behavior_sets__Response__FilterValues":{"properties":{"applied_to_services_ids":{"items":{"type":"string"},"type":"array","title":"Applied To Services Ids","description":"A set of service IDs that have dynamic behavior sets applied to the service."},"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__dynamic_behavior_set__DynamicBehaviorSet__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the dynamic behavior sets under the current filters."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the dynamic behavior sets under the current filters."}},"type":"object","required":["applied_to_services_ids","creators","tags"],"title":"FilterValues"},"src__app__endpoints__dynamic_behavior_set__search_dynamic_behavior_sets__Response":{"properties":{"dynamic_behavior_sets":{"items":{"$ref":"#/components/schemas/DynamicBehaviorSetInstance"},"type":"array","title":"Dynamic Behavior Sets","description":"The retrieved dynamic behavior sets."}},"type":"object","required":["dynamic_behavior_sets"],"title":"Response"},"src__app__endpoints__dynamic_behavior_set__update_dynamic_behavior_set__Request":{"properties":{"name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The name of the dynamic behavior set."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of the dynamic behavior set. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"applied_to_services":{"anyOf":[{"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"type":"array"},{"type":"null"}],"title":"Applied To Services","description":"The services that the dynamic behavior set should be applied to."},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","description":"Whether the dynamic behavior set is active."}},"type":"object","title":"Request"},"src__app__endpoints__metric__create_metric__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the metric. Must be unique within the organization."},"applied_to_services":{"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"type":"array","title":"Applied To Services","description":"The services that the metric is applied to."},"additional_notes":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"Additional notes about the metric."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the metric."},"initial_version_metric_value":{"$ref":"#/components/schemas/InitialMetricVersion","description":"The initial version of the metric."}},"type":"object","required":["name","applied_to_services","additional_notes","tags","initial_version_metric_value"],"title":"Request"},"src__app__endpoints__metric__create_metric__Response":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the created metric."}},"type":"object","required":["id"],"title":"Response"},"src__app__endpoints__metric__create_metric_version__Request":{"properties":{"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The description of the metric. This tells the LLM what the metric is and how the metric result should be generated."},"metric_value":{"$ref":"#/components/schemas/MetricValue-Input"}},"type":"object","required":["description","metric_value"],"title":"Request"},"src__app__endpoints__metric__create_metric_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"Numerical version ID for the version just created. For the first version of a metric, this field will be 1."}},"type":"object","required":["version"],"title":"Response"},"src__app__endpoints__metric__evaluate_metrics__Request":{"properties":{"metric_ids":{"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"type":"array","maxItems":10,"minItems":1,"uniqueItems":true,"title":"Metric Ids","description":"The IDs of the metrics to evaluate."},"conversation_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Conversation Id","description":"The ID of the conversation to evaluate the metrics for."},"evaluate_to_interaction_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Evaluate To Interaction Id","description":"If specified, only messages up to (and including) this interaction will be evaluated."}},"type":"object","required":["metric_ids","conversation_id"],"title":"Request"},"src__app__endpoints__metric__evaluate_metrics__Response":{"properties":{"metrics":{"items":{"$ref":"#/components/schemas/amigo_lib__agent__metric__MetricAgent__MetricEvaluationResult"},"type":"array","title":"Metrics","description":"A list of the evaluated metrics, in the same order that the `metrics` field in the request is presented."}},"type":"object","required":["metrics"],"title":"Response"},"src__app__endpoints__metric__get_metric_evaluation_results__Response":{"properties":{"metric_evaluation_results":{"items":{"$ref":"#/components/schemas/MetricEvaluationResultInstance"},"type":"array","title":"Metric Evaluation Results","description":"The list of retrieved metric evaluation results."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more metric evaluation results to retrieve."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next set of metric evaluation results."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__metric__get_metric_evaluation_results__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the metric evaluation results, so they might differ from how many are actually\nretrieved."}},"type":"object","required":["metric_evaluation_results","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__metric__get_metric_evaluation_results__Response__FilterValues":{"properties":{"metric_ids":{"items":{"type":"string"},"type":"array","title":"Metric Ids","description":"The IDs of the metrics that the metric evaluation results are for."}},"type":"object","required":["metric_ids"],"title":"FilterValues"},"src__app__endpoints__metric__get_metric_versions__Response":{"properties":{"metric_versions":{"items":{"$ref":"#/components/schemas/MetricVersionInstance"},"type":"array","title":"Metric Versions","description":"The list of retrieved metric versions."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more metric versions that can be retrieved with further pagination."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to be used to retrieve the next page of metric versions. This is only included if `has_more` is true."}},"type":"object","required":["metric_versions","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__metric__get_metrics__Response":{"properties":{"metrics":{"items":{"$ref":"#/components/schemas/MetricInstance"},"type":"array","title":"Metrics","description":"The list of retrieved metrics."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more metrics to retrieve."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next set of metrics."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__metric__get_metrics__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the metrics, so they might differ from how many are actually\nretrieved."}},"type":"object","required":["metrics","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__metric__get_metrics__Response__FilterValues":{"properties":{"applied_to_services_ids":{"items":{"type":"string"},"type":"array","title":"Applied To Services Ids","description":"A set of service IDs that have metrics applied to the service."},"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__metric__Metric__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the metrics under the current filters."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the metrics under the current filters."},"types":{"items":{"type":"string"},"type":"array","title":"Types","description":"A set of metric types that exist in the metrics under the current filters."}},"type":"object","required":["applied_to_services_ids","creators","tags","types"],"title":"FilterValues"},"src__app__endpoints__metric__search_metrics__Response":{"properties":{"metrics":{"items":{"$ref":"#/components/schemas/Metric"},"type":"array","title":"Metrics","description":"The list of retrieved metrics."}},"type":"object","required":["metrics"],"title":"Response"},"src__app__endpoints__metric__update_metric__Request":{"properties":{"applied_to_services":{"anyOf":[{"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"type":"array"},{"type":"null"}],"title":"Applied To Services","description":"The services that the metric is applied to. Only updated if set."},"additional_notes":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Additional Notes","description":"Additional notes about the metric. Only updated if set.","default":{}},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of the metric. Only updated if set."}},"type":"object","title":"Request"},"src__app__endpoints__organization__create_agent__Request":{"properties":{"agent_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__2","description":"The name of the new agent."}},"type":"object","required":["agent_name"],"title":"Request"},"src__app__endpoints__organization__create_agent__Response":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the newly created agent."}},"type":"object","required":["id"],"title":"Response"},"src__app__endpoints__organization__create_agent_version__Request":{"properties":{"initials":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__3"},{"type":"null"}],"description":"The agent's initials."},"identity":{"anyOf":[{"$ref":"#/components/schemas/Identity-Input"},{"type":"null"}],"description":"Information about the agent's identity."},"background":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"A description of the agent's background."},"behaviors":{"anyOf":[{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array"},{"type":"null"}],"title":"Behaviors","description":"A list of behavioral guidelines that this agent follows."},"communication_patterns":{"anyOf":[{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array"},{"type":"null"}],"title":"Communication Patterns","description":"A list of descriptions that illustrate the communication styles of this agent."},"voice_config":{"anyOf":[{"$ref":"#/components/schemas/VoiceConfig"},{"type":"null"}],"description":"The Cartesia voice config for the agent. If set to null, it is not updated."}},"type":"object","title":"Request"},"src__app__endpoints__organization__create_agent_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"Numerical version ID that describes how many iterations of this agent occurred before this version. Note that this is for reference only.\nAny identification of an agent version in Amigo APIs use the `id` field.\n\nFor initial version of an agent, this field will be 1."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time at which this version was created."}},"type":"object","required":["version","created_at"],"title":"Response"},"src__app__endpoints__organization__create_api_key__Request":{"properties":{"name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"An optional name for the API key for easier identification by users."},"duration":{"type":"string","format":"duration","title":"Duration","description":"The valid duration of the API key. Should be supplied in the [ISO8601 format](https://en.wikipedia.org/wiki/ISO_8601#Durations). Must be between 1 to 90 days."},"role_name":{"type":"string","title":"Role Name","description":"The name of the role associated with the key. When using this API key to authenticate, it can only authenticate for users with roles that are less permissive\nthan this role.","default":"DefaultAdministratorRole"}},"type":"object","required":["name","duration"],"title":"Request"},"src__app__endpoints__organization__create_api_key__Response":{"properties":{"api_key_id":{"type":"string","title":"Api Key Id","description":"An identifier for this API key. You must present this along with the API key to authenticate."},"api_key":{"type":"string","title":"Api Key","description":"The API key. This is only visible once and is not retrievable later. Please store safely."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Expiration time of the API key in UTC."}},"type":"object","required":["api_key_id","api_key","expires_at"],"title":"Response"},"src__app__endpoints__organization__create_organization__Request":{"properties":{"org_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A human friendly name of the organization."},"user_dimensions":{"items":{"$ref":"#/components/schemas/UserDimension-Input"},"type":"array","title":"User Dimensions","description":"User dimensions for the organization."},"logo":{"type":"string","format":"base64","title":"Logo","description":"A logo for the organization that will be displayed on the Amigo frontend for this organization, as well as all Amigo communications to users on behalf of the organization.\nMust be provided as base64 encoded bytes of a PNG image of aspect ratio 5:2 with minimum size 400 * 160 pixels."},"square_logo":{"type":"string","format":"base64","title":"Square Logo","description":"A square logo of the organization. Must be provided as base64 encoded bytes of a square PNG image of size at least 40 * 40 pixels."},"favicon":{"type":"string","format":"base64","title":"Favicon","description":"Favicon for the Amigo frontend for this organization. Must be provided as base64 encoded bytes of a square ICO image that's of size at least 40 * 40 pixels."},"default_user_preferences":{"$ref":"#/components/schemas/src__app__endpoints__organization__create_organization__Request__Preferences","description":"Default user preferences for users in this organization.","default":{"enable_response_recommendation":false,"conversations_visible_to_admins":true,"user_model_visible_to_admins":true,"audio_keyterms":[]}},"azure_devops_team_name":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z-______","description":"The name of the Azure DevOps team to create (if it doesn't exist) for this organization. All orgs with the same Azure DevOps team name will share access to the same Azure DevOps resources, namely\nthe source code for tools."}},"type":"object","required":["org_name","user_dimensions","logo","square_logo","favicon","azure_devops_team_name"],"title":"Request"},"src__app__endpoints__organization__create_organization__Request__Preferences":{"properties":{"enable_response_recommendation":{"type":"boolean","title":"Enable Response Recommendation","description":"Whether to automatically recommend responses to the user if the user hasn't replied to the coach for a while.","default":false},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"type":"null"}],"title":"Preferred Language"},"conversations_visible_to_admins":{"type":"boolean","title":"Conversations Visible To Admins","description":"Whether the user's conversations are visible to the admins.","default":true},"user_model_visible_to_admins":{"type":"boolean","title":"User Model Visible To Admins","description":"Whether the user's user model is visible to the admins.","default":true},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"type":"null"}],"title":"Timezone"},"audio_keyterms":{"items":{"type":"string"},"type":"array","title":"Audio Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions for this user.","default":[]}},"type":"object","title":"Preferences"},"src__app__endpoints__organization__create_organization__Response":{"properties":{"org_id":{"type":"string","title":"Org Id","description":"ID of the newly created organization. This is used to identify the organization that a resource belongs to in all Amigo endpoints."}},"type":"object","required":["org_id"],"title":"Response"},"src__app__endpoints__organization__create_service_hierarchical_state_machine__Request":{"properties":{"state_machine_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__2","description":"The name of the new state machine."}},"type":"object","required":["state_machine_name"],"title":"Request"},"src__app__endpoints__organization__create_service_hierarchical_state_machine__Response":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the newly created state machine."}},"type":"object","required":["id"],"title":"Response"},"src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request":{"properties":{"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A description of the service hierarchical state machine."},"states":{"items":{"oneOf":[{"$ref":"#/components/schemas/ActionState-Input"},{"$ref":"#/components/schemas/DecisionState-Input"},{"$ref":"#/components/schemas/RecallState-Input"},{"$ref":"#/components/schemas/AnnotationState-Input"},{"$ref":"#/components/schemas/ReflectionState-Input"},{"$ref":"#/components/schemas/ToolCallState-Input"}],"discriminator":{"propertyName":"type","mapping":{"action":"#/components/schemas/ActionState-Input","annotation":"#/components/schemas/AnnotationState-Input","decision":"#/components/schemas/DecisionState-Input","recall":"#/components/schemas/RecallState-Input","reflection":"#/components/schemas/ReflectionState-Input","tool-call":"#/components/schemas/ToolCallState-Input"}}},"type":"array","title":"States","description":"The internal states in this service hierarchical state machine."},"new_user_initial_state":{"$ref":"#/components/schemas/StateOrRefName","description":"The state a new user will be in when a session starts. This must be an action state, and must be an internal state."},"returning_user_initial_state":{"$ref":"#/components/schemas/StateOrRefName","description":"The state a returning user will be in when a session starts. This must be an action state, and must be an internal state."},"terminal_state":{"$ref":"#/components/schemas/StateOrRefName","description":"The state the user will be in when the session ends. This must be an action state, and must be an internal state."},"references":{"additionalProperties":{"prefixItems":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},"propertyNames":{"$ref":"#/components/schemas/StateOrRefName"},"type":"object","title":"References","description":"A dictionary of other service hierarchical state machines that this references to. This field is a map of the reference name to the machine's ID and its version number."},"global_intra_state_navigation_guidelines":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Global Intra State Navigation Guidelines","description":"A list of guidelines for how the agent will navigate between subgoals and exit conditions within this state. This is injected into the `intra_state_navigation_guidelines` field of every action state."},"global_action_guidelines":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Global Action Guidelines","description":"A list of guidelines for how the agent will behave when engaging with user. This is injected into the `action_guidelines` field of every action state."},"global_boundary_constraints":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"Global Boundary Constraints","description":"A list of guidelines for how the agent will not behave when engaging with user. This is injected into the `boundary_constraints` field of every action state."}},"type":"object","required":["description","states","new_user_initial_state","returning_user_initial_state","terminal_state","references","global_intra_state_navigation_guidelines","global_action_guidelines","global_boundary_constraints"],"title":"Request"},"src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Request__ToolCallSpec":{"properties":{"tool_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Tool Id","description":"The ID of the tool."},"version_constraint":{"type":"string","title":"Version Constraint","description":"A [Python packaging version constraint](https://packaging.python.org/en/latest/specifications/version-specifiers/#id5) of the tool."},"additional_instruction":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"Additional instruction to be supplied to the LLM in addition to the tool's description."},"audio_fillers":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","maxItems":5,"title":"Audio Fillers","description":"A list of audio fillers to play in audio mode if the tool is taking a long time."},"audio_filler_triggered_after":{"type":"number","maximum":10.0,"exclusiveMinimum":0.0,"title":"Audio Filler Triggered After","description":"The number of seconds to wait before playing an audio filler."},"result_persistence":{"$ref":"#/components/schemas/ResultPersistence","description":"The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown."}},"type":"object","required":["tool_id","version_constraint","additional_instruction","audio_fillers","audio_filler_triggered_after","result_persistence"],"title":"ToolCallSpec"},"src__app__endpoints__organization__create_service_hierarchical_state_machine_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"Numerical version ID that describes how many iterations of this service hierarchical state machine occurred before this version. Note that this is for reference only.\nAny identification of a service hierarchical state machine version in Amigo APIs use the `id` field.\n\nFor the initial version of a service hierarchical state machine, this field will be 1."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time at which this version was created."}},"type":"object","required":["version","created_at"],"title":"Response"},"src__app__endpoints__organization__delete_api_key__Response":{"properties":{"deleted_key_id":{"type":"string","title":"Deleted Key Id","description":"ID of the successfully deleted API key."}},"type":"object","required":["deleted_key_id"],"title":"Response"},"src__app__endpoints__organization__get_agent_versions__Response":{"properties":{"agent_versions":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_agent_versions__Response__AgentInstance"},"type":"array","title":"Agent Versions","description":"The returned agent versions."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more agent versions to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of agent versions. Only populated if `has_more` is `True`."}},"type":"object","required":["agent_versions","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__organization__get_agent_versions__Response__AgentInstance":{"properties":{"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization of this agent."},"agent_id":{"type":"string","title":"Agent Id","description":"The ID of this agent."},"version":{"type":"integer","title":"Version","description":"The version of the agent."},"voice_config":{"anyOf":[{"$ref":"#/components/schemas/VoiceConfigInstance"},{"type":"null"}],"description":"The voice configuration of the agent."},"initials":{"type":"string","title":"Initials","description":"The initials of the agent."},"identity":{"$ref":"#/components/schemas/Identity-Output","description":"The identity of the agent."},"background":{"type":"string","title":"Background","description":"A description of the `Agent`'s background."},"behaviors":{"items":{"type":"string"},"type":"array","title":"Behaviors","description":"A list of behavioral guidelines that this `Agent` follows."},"communication_patterns":{"items":{"type":"string"},"type":"array","title":"Communication Patterns","description":"A list of descriptions that illustrate the communication styles of this `Agent`."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The time at which this version was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__agent__Agent__UserInfo","description":"The user who created this version of the agent."}},"type":"object","required":["org_id","agent_id","version","voice_config","initials","identity","background","behaviors","communication_patterns","created_at","creator"],"title":"AgentInstance"},"src__app__endpoints__organization__get_agents__Response":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/src__app__endpoints__organization__get_agents__Response__AgentInstance"},"type":"array","title":"Agents","description":"The agents for this organization."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more agents to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of agents. Only populated if `has_more` is `True`."}},"type":"object","required":["agents","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__organization__get_agents__Response__AgentInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the agent."},"name":{"type":"string","title":"Name","description":"The name of the agent."},"deprecated":{"type":"boolean","title":"Deprecated","description":"Whether the agent has been deprecated."},"latest_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Version","description":"The latest version of the agent. If `None`, no version for the agent exists."}},"type":"object","required":["id","name","deprecated","latest_version"],"title":"AgentInstance"},"src__app__endpoints__organization__get_api_keys__Response":{"properties":{"api_keys":{"items":{"$ref":"#/components/schemas/APIKeyInstance"},"type":"array","title":"Api Keys","description":"The list of API keys for the organization."}},"type":"object","required":["api_keys"],"title":"Response"},"src__app__endpoints__organization__get_organization__Response":{"properties":{"org_id":{"type":"string","title":"Org Id","description":"Unique identifier of the organization."},"org_name":{"type":"string","title":"Org Name","description":"A human friendly name of the organization."},"default_user_preferences":{"anyOf":[{"$ref":"#/components/schemas/Preferences-Output"},{"type":"null"}],"description":"Default user preferences for new users in this organization. This field is only populated if this endpoint is called with user authentication credentials,\nand the authenticated user has the `Organization:GetOrganizationDetails` permission."},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Id","description":"The tenant ID of the organization. This field is only populated if the authenticated user has the `Organization:GetOrganizationDetails` permission."}},"type":"object","required":["org_id","org_name","default_user_preferences","tenant_id"],"title":"Response"},"src__app__endpoints__organization__get_service_hierarchical_state_machine_versions__Response":{"properties":{"state_machine_versions":{"items":{"$ref":"#/components/schemas/ServiceHierarchicalStateMachineInstance"},"type":"array","title":"State Machine Versions","description":"The returned state machine versions."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more state machine versions to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of state machine versions. Only populated if `has_more` is `True`."}},"type":"object","required":["state_machine_versions","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__organization__get_service_hierarchical_state_machines__Response":{"properties":{"service_hierarchical_state_machines":{"items":{"$ref":"#/components/schemas/StateMachineInstance"},"type":"array","title":"Service Hierarchical State Machines","description":"The state machines for this organization."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more state machines to fetch."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of state machines. Only populated if `has_more` is `True`."}},"type":"object","required":["service_hierarchical_state_machines","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__organization__get_user_dimensions__Response":{"properties":{"user_dimensions":{"items":{"$ref":"#/components/schemas/UserDimension-Output"},"type":"array","title":"User Dimensions","description":"The list of user dimensions for the organization."}},"type":"object","required":["user_dimensions"],"title":"Response"},"src__app__endpoints__organization__modify_organization__Request":{"properties":{"logo":{"anyOf":[{"type":"string","format":"base64"},{"type":"null"}],"title":"Logo","description":"A logo for the organization that will be displayed on the Amigo frontend for this organization, as well as all Amigo communications to users on behalf of the organization.\nMust be provided as base64 encoded bytes of a PNG image of aspect ratio 5:2 with minimum size 400 * 160 pixels. Only updated if not null."},"square_logo":{"anyOf":[{"type":"string","format":"base64"},{"type":"null"}],"title":"Square Logo","description":"A square logo of the organization. Must be provided as base64 encoded bytes of a square PNG image of size at least 40 * 40 pixels. Only updated if not null."},"favicon":{"anyOf":[{"type":"string","format":"base64"},{"type":"null"}],"title":"Favicon","description":"Favicon for the Amigo frontend for this organization. Must be provided as base64 encoded bytes of a square ICO image that's of size at least 40 * 40 pixels. Only updated if not null."},"user_dimensions":{"anyOf":[{"items":{"$ref":"#/components/schemas/UserDimension-Input"},"type":"array","minItems":1},{"type":"null"}],"title":"User Dimensions","description":"User dimensions for the organization. If not set or `null`, this field is not updated."},"default_user_preferences":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__organization__modify_organization__Request__Preferences"},{"type":"null"}],"description":"The default user preferences for the organization. If `null`, this field is not updated."}},"type":"object","title":"Request"},"src__app__endpoints__organization__modify_organization__Request__Preferences":{"properties":{"enable_response_recommendation":{"type":"boolean","title":"Enable Response Recommendation","description":"Whether to automatically recommend responses to the user if the user hasn't replied to the coach for a while.","default":false},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"type":"null"}],"title":"Preferred Language"},"conversations_visible_to_admins":{"type":"boolean","title":"Conversations Visible To Admins","description":"Whether the user's conversations are visible to the admins.","default":true},"user_model_visible_to_admins":{"type":"boolean","title":"User Model Visible To Admins","description":"Whether the user's user model is visible to the admins.","default":true},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"type":"null"}],"title":"Timezone"},"audio_keyterms":{"items":{"type":"string"},"type":"array","title":"Audio Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions for this user.","default":[]}},"type":"object","title":"Preferences"},"src__app__endpoints__role__assign_role__Request":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The identifier of the user to assign the role to."}},"type":"object","required":["user_id"],"title":"Request"},"src__app__endpoints__role__assign_role__Response":{"properties":{"role_id":{"type":"string","title":"Role Id","description":"The identifier of the role assigned to the user."}},"type":"object","required":["role_id"],"title":"Response"},"src__app__endpoints__role__create_role__Request":{"properties":{"role_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__2","description":"The name of the role to create. The role must have a max length of 256 characters."},"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A description about the role."},"permission_grants":{"items":{"$ref":"#/components/schemas/PermissionGrant-Input"},"type":"array","title":"Permission Grants","description":"A list of permission grants associated with this role."},"frontend_view":{"$ref":"#/components/schemas/FrontendView","description":"The frontend view for users of this role."}},"type":"object","required":["role_name","description","permission_grants","frontend_view"],"title":"Request"},"src__app__endpoints__role__create_role__Response":{"properties":{"role_id":{"type":"string","title":"Role Id","description":"The ID of the newly created role."}},"type":"object","required":["role_id"],"title":"Response"},"src__app__endpoints__role__create_temporary_permission_grant__Request":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The ID of the user to grant the temporary permission to."},"duration":{"type":"string","format":"duration","title":"Duration","description":"In ISO8601 format, the duration that this permission grant will last."},"permission_grant":{"$ref":"#/components/schemas/PermissionGrantInstance","description":"The permission grant to give to the user."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the permission grant. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"justification":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__5","description":"A justification for why this grant is made."}},"type":"object","required":["user_id","duration","permission_grant","tags","justification"],"title":"Request"},"src__app__endpoints__role__create_temporary_permission_grant__Response":{"properties":{"temporary_permission_grant_id":{"type":"string","title":"Temporary Permission Grant Id","description":"The ID of the created temporary permission grant."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"The time in UTC at which the permission grant expires."}},"type":"object","required":["temporary_permission_grant_id","expires_at"],"title":"Response"},"src__app__endpoints__role__get_roles__Response":{"properties":{"roles":{"items":{"$ref":"#/components/schemas/RoleInstance"},"type":"array","title":"Roles","description":"A list of roles in this organization."}},"type":"object","required":["roles"],"title":"Response"},"src__app__endpoints__role__get_temporary_permission_grants__Response":{"properties":{"temporary_permission_grants":{"items":{"$ref":"#/components/schemas/TemporaryPermissionGrant"},"type":"array","title":"Temporary Permission Grants","description":"The retrieved temporary permission grants."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more temporary permission grants to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next set of temporary permission grants."}},"type":"object","required":["temporary_permission_grants","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__role__modify_role__Request":{"properties":{"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"A description about the role. Only updated if specified. This field is a mutable field."},"permission_grants":{"anyOf":[{"items":{"$ref":"#/components/schemas/PermissionGrant-Input"},"type":"array"},{"type":"null"}],"title":"Permission Grants","description":"A list of permission grants associated with this role. Only updated if specified. This field is an immutable field."},"frontend_view":{"anyOf":[{"$ref":"#/components/schemas/FrontendView"},{"type":"null"}],"description":"The frontend view for the user of this role. Only updated if specified. This field is an immutable field."}},"type":"object","title":"Request"},"src__app__endpoints__role__modify_role__Response":{"properties":{"role_id":{"type":"string","title":"Role Id","description":"The identifier of the updated role."}},"type":"object","required":["role_id"],"title":"Response"},"src__app__endpoints__service__create_service__Request":{"properties":{"service_hierarchical_state_machine_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Service Hierarchical State Machine Id","description":"The ID of the state machine that this service uses."},"agent_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Agent Id","description":"The ID of the agent that this service uses."},"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of this service."},"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A description of this service."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the newly-created service is active. Only active services are visible to users on the dashboard. You can later adjust the activeness of this service."},"release_version_set":{"anyOf":[{"$ref":"#/components/schemas/VersionSet-Input"},{"type":"null"}],"description":"The `release` version set to use for this service. If not specified, the `release` version set will be the same as the `edge` version set, which uses the\nlatest agent and state machine versions with no model preference."},"keyterms":{"items":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z-_____a-z-____0_2____"},"type":"array","maxItems":20,"title":"Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of this service."}},"type":"object","required":["service_hierarchical_state_machine_id","agent_id","name","description","is_active","keyterms","tags"],"title":"Request"},"src__app__endpoints__service__create_service__Response":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the newly created service."}},"type":"object","required":["id"],"title":"Response"},"src__app__endpoints__service__get_services__Response":{"properties":{"services":{"items":{"$ref":"#/components/schemas/ServiceInstance"},"type":"array","title":"Services","description":"The services that are found."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more services to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of services. Only populated if `has_more` is `True`."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__service__get_services__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the services, so they might differ from how many services are actually\nretrieved."}},"type":"object","required":["services","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__service__get_services__Response__FilterValues":{"properties":{"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A list of tags of the services."}},"type":"object","required":["tags"],"title":"FilterValues"},"src__app__endpoints__service__update_service__Request":{"properties":{"name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The name of the service. Only updated if not-null."},"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"A description of this `Service`. Only updates if not-null."},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","description":"The activeness of the service. Only updated if not-null.\n\nIf set to `True` and the service is currently inactive, no other service with the same name can be active.\n\nIf set to `False` and the service is currently active, it is deactivated. This will error if the service is used in a simulation unit test."},"agent_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Agent Id","description":"The ID of the agent that this service uses. Only updated if not-null."},"service_hierarchical_state_machine_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Service Hierarchical State Machine Id","description":"The ID of the service hierarchical state machine that this service uses. Only updated if not-null."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of this service. Only updated if not-null."},"keyterms":{"anyOf":[{"items":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z-_____a-z-____0_2____"},"type":"array","maxItems":20},{"type":"null"}],"title":"Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service. Only updated if not-null."}},"type":"object","title":"Request"},"src__app__endpoints__service__upsert_service_version_set__Request":{"properties":{"version_set":{"$ref":"#/components/schemas/VersionSet-Input","description":"The version set to upsert."}},"type":"object","required":["version_set"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_persona__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the simulation persona."},"role":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The role of the simulation persona."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the simulation persona. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"initial_version":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona__Request__InitialVersion","description":"The initial version of the simulation persona."}},"type":"object","required":["name","role","tags","initial_version"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_persona__Request__InitialVersion":{"properties":{"background":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The background of the simulation persona."},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language of the simulation persona in the ISO 639-3 format. If unspecified, the preferred language of the organization is used. If that is unspecified, the language of the agent is used.","default":{}},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Timezone","description":"The timezone of the simulation persona in the IANA tz database format. If unspecified, the organization's default timezone is used. If the organization's default timezone is not specified, UTC is used.","default":{}},"user_models":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"User Models","description":"A list of strings representing the user models associated with the simulation persona."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Nonsensitive User Variables","description":"A dictionary of the simulation persona's nonsensitive user variables that are provided to the tools."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Sensitive User Variables","description":"A dictionary of the simulation persona's sensitive user variables that are provided to the tools. Unlike the ones in the user collection,\nthese are not encrypted, so only sensitive information in staging environment should be stored here."}},"type":"object","required":["background","user_models","nonsensitive_user_variables","sensitive_user_variables"],"title":"InitialVersion"},"src__app__endpoints__simulation__create_simulation_persona__Response":{"properties":{"simulation_persona_id":{"type":"string","title":"Simulation Persona Id","description":"The ID of the simulation persona that was created."}},"type":"object","required":["simulation_persona_id"],"title":"Response"},"src__app__endpoints__simulation__create_simulation_persona_version__Request":{"properties":{"background":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The background of the simulation persona."},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language of the simulation persona in the ISO 639-3 format. If unspecified, the preferred language of the organization is used. If that is unspecified too, the language of the agent is used.","default":{}},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Timezone","description":"The timezone of the simulation persona in the IANA tz database format. If unspecified, the organization's default timezone is used. If the organization's default timezone is not specified, UTC is used.","default":{}},"user_models":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"User Models","description":"A list of strings representing the user models associated with the simulation persona."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Nonsensitive User Variables","description":"A dictionary of the simulation persona's nonsensitive user variables that are provided to the tools."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Sensitive User Variables","description":"A dictionary of the simulation persona's sensitive user variables that are provided to the tools. Unlike the ones in the user collection,\nthese are not encrypted, so only sensitive information in staging environment should be stored here."}},"type":"object","required":["background","user_models","nonsensitive_user_variables","sensitive_user_variables"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_persona_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"The version number of the created simulation persona version."}},"type":"object","required":["version"],"title":"Response"},"src__app__endpoints__simulation__create_simulation_scenario__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the simulation scenario."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the simulation scenario. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"initial_version":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario__Request__InitialVersion","description":"The initial version of the simulation scenario."}},"type":"object","required":["name","tags","initial_version"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_scenario__Request__InitialVersion":{"properties":{"objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The objective of the simulation scenario."},"instructions":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The instructions of the simulation scenario."},"initial_message_type":{"$ref":"#/components/schemas/InitialMessageType","description":"The initial message type for the simulation scenario version."},"conversation_starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversation Starts At","description":"The time at which the conversation starts. This must be a timestamp in UTC. If not specified, the current server time is used."}},"type":"object","required":["objective","instructions","initial_message_type","conversation_starts_at"],"title":"InitialVersion"},"src__app__endpoints__simulation__create_simulation_scenario__Response":{"properties":{"simulation_scenario_id":{"type":"string","title":"Simulation Scenario Id","description":"The ID of the created simulation scenario."}},"type":"object","required":["simulation_scenario_id"],"title":"Response"},"src__app__endpoints__simulation__create_simulation_scenario_version__Request":{"properties":{"objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The objective of the simulation scenario."},"instructions":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The instructions of the simulation scenario."},"initial_message_type":{"$ref":"#/components/schemas/InitialMessageType","description":"The initial message type for the simulation scenario version."},"conversation_starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversation Starts At","description":"The time at which the conversation starts. This must be a timestamp in UTC. If not specified, the current server time is used."}},"type":"object","required":["objective","instructions","initial_message_type","conversation_starts_at"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_scenario_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"The version number of the created simulation scenario version."}},"type":"object","required":["version"],"title":"Response"},"src__app__endpoints__simulation__create_simulation_unit_test__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the unit test."},"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A description of the unit test."},"service_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"type":"integer","maximum":100.0,"exclusiveMinimum":0.0,"title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"items":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test__Request__SuccessCriterion"},"type":"array","minItems":1,"title":"Success Criterions","description":"The success criterions for the unit test."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation persona."}},"type":"object","required":["name","description","service_id","service_version_set_name","persona_id","scenario_id","max_interactions","success_criterions","tags"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_unit_test__Request__SuccessCriterion":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"metric_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Input"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"src__app__endpoints__simulation__create_simulation_unit_test__Response":{"properties":{"simulation_unit_test_id":{"type":"string","title":"Simulation Unit Test Id","description":"The ID of the created simulation unit test."}},"type":"object","required":["simulation_unit_test_id"],"title":"Response"},"src__app__endpoints__simulation__create_simulation_unit_test_set__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the simulation unit test set."},"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The description of the simulation unit test set."},"unit_test_runs":{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Input"},"type":"array","minItems":1,"title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation unit test set."}},"type":"object","required":["name","description","unit_test_runs","tags"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_unit_test_set__Response":{"properties":{"simulation_unit_test_set_id":{"type":"string","title":"Simulation Unit Test Set Id","description":"The ID of the simulation unit test set that was created."}},"type":"object","required":["simulation_unit_test_set_id"],"title":"Response"},"src__app__endpoints__simulation__create_simulation_unit_test_set_run__Request":{"properties":{"simulation_unit_test_set_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Simulation Unit Test Set Id","description":"The ID of the simulation unit test set to run."}},"type":"object","required":["simulation_unit_test_set_id"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_unit_test_set_run__Response":{"properties":{"simulation_unit_test_set_run_id":{"type":"string","title":"Simulation Unit Test Set Run Id","description":"The ID of the created simulation unit test set run."}},"type":"object","required":["simulation_unit_test_set_run_id"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_persona_versions__Response":{"properties":{"simulation_persona_versions":{"items":{"$ref":"#/components/schemas/SimulationPersonaVersion"},"type":"array","title":"Simulation Persona Versions","description":"The simulation persona versions of the simulation persona."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation persona versions to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retreive the next page of simulation persona versions."}},"type":"object","required":["simulation_persona_versions","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_personas__Response":{"properties":{"simulation_personas":{"items":{"$ref":"#/components/schemas/SimulationPersonaInstance"},"type":"array","title":"Simulation Personas","description":"The list of simulation personas."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation personas to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation personas."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_personas__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation personas, so they might differ from how many personas are actually\nretrieved."}},"type":"object","required":["simulation_personas","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_personas__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo"},"type":"array","title":"Creators","description":"The list of users who created the simulation personas."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"The list of tags of the simulation personas."},"roles":{"items":{"type":"string"},"type":"array","title":"Roles","description":"The list of roles of the simulation personas."}},"type":"object","required":["creators","tags","roles"],"title":"FilterValues"},"src__app__endpoints__simulation__get_simulation_scenario_versions__Response":{"properties":{"simulation_scenario_versions":{"items":{"$ref":"#/components/schemas/SimulationScenarioVersion"},"type":"array","title":"Simulation Scenario Versions","description":"The list of simulation scenario versions."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation scenario versions to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retreive the next page of simulation scenario versions."}},"type":"object","required":["simulation_scenario_versions","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_scenarios__Response":{"properties":{"simulation_scenarios":{"items":{"$ref":"#/components/schemas/SimulationScenarioInstance"},"type":"array","title":"Simulation Scenarios","description":"The list of simulation scenarios."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation scenarios to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation scenarios."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_scenarios__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation scenarios, so they might differ from how many scenarios are actually\nretrieved."}},"type":"object","required":["simulation_scenarios","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_scenarios__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo"},"type":"array","title":"Creators","description":"The list of users who created the simulation scenarios."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"The list of tags of the simulation scenarios."}},"type":"object","required":["creators","tags"],"title":"FilterValues"},"src__app__endpoints__simulation__get_simulation_unit_test_set_run_artifacts__Response":{"properties":{"presigned_url":{"type":"string","title":"Presigned Url","description":"An URL where the artifacts can be downloaded from."},"url_expires_at":{"type":"string","format":"date-time","title":"Url Expires At","description":"The time in UTC when the presigned URL expires."}},"type":"object","required":["presigned_url","url_expires_at"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response":{"properties":{"simulation_unit_test_set_runs":{"items":{"$ref":"#/components/schemas/SimulationUnitTestSetRunInstance"},"type":"array","title":"Simulation Unit Test Set Runs","description":"The retrieved simulation unit test set runs."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation unit test set runs to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation unit test set runs."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation unit test set runs, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["simulation_unit_test_set_runs","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the simulation unit test set runs under the current filters."},"simulation_unit_test_set_ids":{"items":{"type":"string"},"type":"array","title":"Simulation Unit Test Set Ids","description":"A set of simulation unit test set IDs that the simulation unit test set runs belong to."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the simulation unit test set runs under the current filters."}},"type":"object","required":["creators","simulation_unit_test_set_ids","tags"],"title":"FilterValues"},"src__app__endpoints__simulation__get_simulation_unit_test_sets__Response":{"properties":{"simulation_unit_test_sets":{"items":{"$ref":"#/components/schemas/SimulationUnitTestSetInstance"},"type":"array","title":"Simulation Unit Test Sets","description":"The retrieved simulation unit test sets."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation unit test sets to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation unit test sets."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_sets__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation unit test sets, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["simulation_unit_test_sets","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_unit_test_sets__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the simulation unit test sets under the current filters."},"unit_test_ids":{"items":{"type":"string"},"type":"array","title":"Unit Test Ids","description":"A set of unit test IDs that are used in the simulation unit test sets under the current filters."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the simulation unit test sets under the current filters."}},"type":"object","required":["creators","unit_test_ids","tags"],"title":"FilterValues"},"src__app__endpoints__simulation__get_simulation_unit_tests__Response":{"properties":{"simulation_unit_tests":{"items":{"$ref":"#/components/schemas/SimulationUnitTestInstance"},"type":"array","title":"Simulation Unit Tests","description":"The retrieved simulation unit tests."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation unit tests to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation unit tests."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_tests__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation unit tests, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["simulation_unit_tests","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__simulation__get_simulation_unit_tests__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the simulation unit tests under the current filters."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the simulation unit tests under the current filters."},"service_ids":{"items":{"type":"string"},"type":"array","title":"Service Ids","description":"A set of service IDs that the simulation unit tests run on."},"persona_ids":{"items":{"type":"string"},"type":"array","title":"Persona Ids","description":"A set of persona IDs that the simulation unit tests use."},"scenario_ids":{"items":{"type":"string"},"type":"array","title":"Scenario Ids","description":"A set of scenario IDs that the simulation unit tests use."},"metric_ids":{"items":{"type":"string"},"type":"array","title":"Metric Ids","description":"A set of metric IDs that the simulation unit tests use."}},"type":"object","required":["creators","tags","service_ids","persona_ids","scenario_ids","metric_ids"],"title":"FilterValues"},"src__app__endpoints__simulation__search_simulation_personas__Response":{"properties":{"simulation_personas":{"items":{"$ref":"#/components/schemas/SimulationPersonaInstance"},"type":"array","title":"Simulation Personas","description":"The list of simulation personas."}},"type":"object","required":["simulation_personas"],"title":"Response"},"src__app__endpoints__simulation__search_simulation_scenarios__Response":{"properties":{"simulation_scenarios":{"items":{"$ref":"#/components/schemas/SimulationScenarioInstance"},"type":"array","title":"Simulation Scenarios","description":"The list of simulation scenarios."}},"type":"object","required":["simulation_scenarios"],"title":"Response"},"src__app__endpoints__simulation__search_simulation_unit_test_set__Response":{"properties":{"simulation_unit_test_sets":{"items":{"$ref":"#/components/schemas/SimulationUnitTestSet"},"type":"array","title":"Simulation Unit Test Sets","description":"The retrieved simulation unit test sets."}},"type":"object","required":["simulation_unit_test_sets"],"title":"Response"},"src__app__endpoints__simulation__search_simulation_unit_tests__Response":{"properties":{"simulation_unit_tests":{"items":{"$ref":"#/components/schemas/SimulationUnitTest"},"type":"array","title":"Simulation Unit Tests","description":"The retrieved simulation unit tests."}},"type":"object","required":["simulation_unit_tests"],"title":"Response"},"src__app__endpoints__simulation__update_simulation_persona__Request":{"properties":{"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of the simulation persona. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."}},"type":"object","title":"Request"},"src__app__endpoints__simulation__update_simulation_scenario__Request":{"properties":{"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of the simulation persona. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."}},"type":"object","title":"Request"},"src__app__endpoints__simulation__update_simulation_unit_test__Request":{"properties":{"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"A description of the unit test."},"service_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"anyOf":[{"type":"integer","maximum":100.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"anyOf":[{"items":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_unit_test__Request__SuccessCriterion"},"type":"array","minItems":1},{"type":"null"}],"title":"Success Criterions","description":"The success criterions for the unit test."},"run_count":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Run Count","description":"Each time this unit test is run, the number of sessions to simulate."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Tags","description":"The tags of the simulation persona."}},"type":"object","title":"Request"},"src__app__endpoints__simulation__update_simulation_unit_test__Request__SuccessCriterion":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"metric_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Input"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"src__app__endpoints__simulation__update_simulation_unit_test_set__Request":{"properties":{"name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The name of the simulation unit test set."},"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Description","description":"The description of the simulation unit test set. If not specified or an empty object is provided, the description will not be updated.","default":{}},"unit_test_runs":{"anyOf":[{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Input"},"type":"array","minItems":1},{"type":"null"}],"title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Tags","description":"The tags of the simulation unit test set."}},"type":"object","title":"Request"},"src__app__endpoints__tool__create_tool__Request":{"properties":{"name":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z0-9______","description":"The name of the tool. It must be unique among all non-deprecated tools in the organization."},"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A description of the tool."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of this tool."}},"type":"object","required":["name","description","tags"],"title":"Request"},"src__app__endpoints__tool__create_tool__Response":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the tool."}},"type":"object","required":["id"],"title":"Response"},"src__app__endpoints__tool__get_tool_invocations__Response":{"properties":{"tool_invocations":{"items":{"$ref":"#/components/schemas/ToolInvocationInstance"},"type":"array","title":"Tool Invocations","description":"The list of tool invocations."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more tool invocations to retrieve."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to retrieve the next page of tool invocations, or null if there are no more tool invocations."}},"type":"object","required":["tool_invocations","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__tool__get_tool_versions__Response":{"properties":{"tool_versions":{"items":{"$ref":"#/components/schemas/ToolVersionInstance"},"type":"array","title":"Tool Versions","description":"A list of tool versions that are found."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more tool versions to retrieve."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of tool versions. Only populated if `has_more` is `True`."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__tool__get_tool_versions__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the tool versions, so they might differ from how many tool versions are actually\nretrieved."}},"type":"object","required":["tool_versions","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__tool__get_tool_versions__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__tool_version__ToolVersion__UserInfo"},"type":"array","title":"Creators","description":"The list of users who created the simulation personas."}},"type":"object","required":["creators"],"title":"FilterValues"},"src__app__endpoints__tool__get_tools__Response":{"properties":{"tools":{"items":{"$ref":"#/components/schemas/ToolInstance"},"type":"array","title":"Tools","description":"A list of tools that are found."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more tools to retrieve."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of tools. Only populated if `has_more` is `True`."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__tool__get_tools__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the tools, so they might differ from how many tools are actually\nretrieved."}},"type":"object","required":["tools","has_more","continuation_token","filter_values"],"title":"Response"},"src__app__endpoints__tool__get_tools__Response__FilterValues":{"properties":{"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A list of tags of the tools."}},"type":"object","required":["tags"],"title":"FilterValues"},"src__app__endpoints__tool__invoke_tool_version__Request":{"properties":{"inputs":{"items":{"$ref":"#/components/schemas/Input"},"type":"array","maxItems":10,"minItems":1,"title":"Inputs","description":"The list of inputs for the tool invocation."}},"type":"object","required":["inputs"],"title":"Request"},"src__app__endpoints__tool__invoke_tool_version__Response":{"properties":{"invocation_results":{"items":{"$ref":"#/components/schemas/InvocationResult"},"type":"array","title":"Invocation Results"}},"type":"object","required":["invocation_results"],"title":"Response"},"src__app__endpoints__tool__modify_tool__Request":{"properties":{"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"A description of this tool. Only updates if not-null."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of this tool. Only updates if not-null."}},"type":"object","title":"Request"},"src__app__endpoints__tool__modify_tool_envvars__Request":{"properties":{"inserts":{"items":{"$ref":"#/components/schemas/InsertRequest"},"type":"array","title":"Inserts","default":[]},"updates":{"items":{"$ref":"#/components/schemas/UpdateRequest"},"type":"array","title":"Updates","default":[]},"deletes":{"items":{"$ref":"#/components/schemas/src__app__endpoints__tool__modify_tool_envvars__Request__DeleteRequest"},"type":"array","title":"Deletes","default":[]}},"type":"object","title":"Request"},"src__app__endpoints__tool__modify_tool_envvars__Request__DeleteRequest":{"properties":{"name":{"$ref":"#/components/schemas/StrippedNonemptyString_A-Z______","description":"The name of the environment variable to delete."}},"type":"object","required":["name"],"title":"DeleteRequest"},"src__app__endpoints__tool__publish_tool_version__Request":{"properties":{"project_path":{"type":"string","pattern":"^[-\\w\\d_/]+$","title":"Project Path","description":"The directory in the tools repo that contains the `pyproject.toml` file corresponding to the tool version to publish."},"bump_type":{"type":"string","enum":["major","minor","patch"],"title":"Bump Type","description":"The type of bump to apply to the version. For initial version of the tool, use `major`."}},"type":"object","required":["project_path","bump_type"],"title":"Request"},"src__app__endpoints__tool__publish_tool_version__Response":{"properties":{"new_version":{"type":"string","title":"New Version","description":"The new version of the tool."}},"type":"object","required":["new_version"],"title":"Response"},"src__app__endpoints__tool__search_tool_invocations__Response":{"properties":{"tool_invocations":{"items":{"$ref":"#/components/schemas/ToolInvocationInstance"},"type":"array","title":"Tool Invocations","description":"The list of tool invocations."}},"type":"object","required":["tool_invocations"],"title":"Response"},"src__app__endpoints__tool__test_tool__Request":{"properties":{"inputs":{"items":{"$ref":"#/components/schemas/Input"},"type":"array","maxItems":10,"minItems":1,"title":"Inputs","description":"The list of inputs for the tool invocation."},"commit_branch":{"type":"string","title":"Commit Branch","description":"The branch in the tools repo whose tip will be tested."},"project_path":{"type":"string","pattern":"^[-\\w\\d_/]+$","title":"Project Path","description":"The directory in the tools repo that contains the `pyproject.toml` file corresponding to the tool version to publish."},"required_envvars":{"additionalProperties":{"type":"string"},"type":"object","title":"Required Envvars","description":"The environment variables required for the tool to run."},"required_secret_envvars":{"additionalProperties":{"type":"string"},"type":"object","title":"Required Secret Envvars","description":"The secret environment variables required for the tool to run."}},"type":"object","required":["inputs","commit_branch","project_path","required_envvars","required_secret_envvars"],"title":"Request"},"src__app__endpoints__tool__test_tool__Response":{"properties":{"invocation_results":{"items":{"$ref":"#/components/schemas/InvocationResult"},"type":"array","title":"Invocation Results"}},"type":"object","required":["invocation_results"],"title":"Response"},"src__app__endpoints__user__create_invited_user__Request":{"properties":{"first_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The first name of the user."},"last_name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The last name of the user."},"email":{"type":"string","format":"email","title":"Email","description":"The email of the user. This email uniquely identifies the user in the organization."},"login_link":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Login Link","description":"If specified, this link will be sent to the user's email as the link to start their Amigo experience. For Amigo's frontend, this would be the user's\norganization's login page with their email already filled in."},"role_name":{"type":"string","title":"Role Name","description":"The role to assign to the user. Only roles that are returned from the [Get roles](get-roles) endpoint are allowed."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9___lambda__at_0xffff79b98f60__"},"type":"object","maxProperties":19,"title":"Nonsensitive User Variables","description":"The nonsensitive user variables to provide to the tool during invocation.","default":{}},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Sensitive User Variables","description":"The sensitive user variables to provide to the tool during invocation.","default":{}},"user_preferences":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__user__create_invited_user__Request__Preferences"},{"type":"null"}],"description":"If specified, the user's preferences will be set to this value instead of the organization default."}},"type":"object","required":["first_name","last_name","email","role_name"],"title":"Request"},"src__app__endpoints__user__create_invited_user__Request__Preferences":{"properties":{"enable_response_recommendation":{"type":"boolean","title":"Enable Response Recommendation","description":"Whether to automatically recommend responses to the user if the user hasn't replied to the coach for a while.","default":false},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"type":"string","pattern":"^\\w{2}$"},{"type":"null"}],"title":"Preferred Language"},"conversations_visible_to_admins":{"type":"boolean","title":"Conversations Visible To Admins","description":"Whether the user's conversations are visible to the admins.","default":true},"user_model_visible_to_admins":{"type":"boolean","title":"User Model Visible To Admins","description":"Whether the user's user model is visible to the admins.","default":true},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"type":"null"}],"title":"Timezone"},"audio_keyterms":{"items":{"type":"string"},"type":"array","title":"Audio Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions for this user.","default":[]}},"type":"object","title":"Preferences"},"src__app__endpoints__user__create_invited_user__Response":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The identifier of the new user."},"verify_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verify Link","description":"The link sent to the user. Only present if `login_link` is `True` in the request."}},"type":"object","required":["user_id","verify_link"],"title":"Response"},"src__app__endpoints__user__get_memories__Response":{"properties":{"memories":{"items":{"$ref":"#/components/schemas/MemoryInstance"},"type":"array","title":"Memories","description":"The memories satisfying the filters."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more memories to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of memories. Only populated if `has_more` is `True`."}},"type":"object","required":["memories","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__user__get_user_model__Response":{"properties":{"user_models":{"items":{"$ref":"#/components/schemas/UserModel"},"type":"array","title":"User Models","description":"The latest user models for the user."},"additional_context":{"items":{"type":"string"},"type":"array","title":"Additional Context","description":"The additional context for the user."}},"type":"object","required":["user_models","additional_context"],"title":"Response"},"src__app__endpoints__user__get_users__Response":{"properties":{"users":{"items":{"$ref":"#/components/schemas/src__app__endpoints__user__get_users__Response__UserInstance"},"type":"array","title":"Users","description":"Users in this organization."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more users to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of users. Only populated if `has_more` is `True`."}},"type":"object","required":["users","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__user__get_users__Response__UserInstance":{"properties":{"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization that this user belongs to."},"user_id":{"type":"string","title":"User Id","description":"The identifier of the user."},"first_name":{"type":"string","title":"First Name","description":"The first name of the user."},"last_name":{"type":"string","title":"Last Name","description":"The last name of the user."},"email":{"type":"string","title":"Email","description":"Email of the user."},"user_stats":{"$ref":"#/components/schemas/UserStats","description":"Statistics about the user's usage of the Amigo platform."},"role":{"type":"string","title":"Role","description":"The ID of the role of the user."},"preferences":{"$ref":"#/components/schemas/Preferences-Output","description":"The preferences of the user."},"nonsensitive_variables":{"additionalProperties":{"type":"string"},"type":"object","title":"Nonsensitive Variables","description":"The user's nonsensitive variables."},"sensitive_variables":{"items":{"type":"string"},"type":"array","title":"Sensitive Variables","description":"The names of the user's sensitive variables. The values of these variables are not retrievable."},"enable_actions_access":{"type":"boolean","title":"Enable Actions Access","description":"Whether the user has access to the actions features."}},"type":"object","required":["org_id","user_id","first_name","last_name","email","user_stats","role","preferences","nonsensitive_variables","sensitive_variables","enable_actions_access"],"title":"UserInstance"},"src__app__endpoints__user__modify_user_variables__Request":{"properties":{"upserts":{"items":{"$ref":"#/components/schemas/UpsertRequest"},"type":"array","title":"Upserts","description":"A list of variables to upsert.","default":[]},"deletes":{"items":{"$ref":"#/components/schemas/src__app__endpoints__user__modify_user_variables__Request__DeleteRequest"},"type":"array","title":"Deletes","description":"A list of variables to delete.","default":[]}},"type":"object","title":"Request"},"src__app__endpoints__user__modify_user_variables__Request__DeleteRequest":{"properties":{"name":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______","description":"The name of the variable to delete."}},"type":"object","required":["name"],"title":"DeleteRequest"},"src__app__endpoints__user__search_users__Response":{"properties":{"users":{"items":{"$ref":"#/components/schemas/src__app__endpoints__user__search_users__Response__UserInstance"},"type":"array","title":"Users","description":"Users in this organization."}},"type":"object","required":["users"],"title":"Response"},"src__app__endpoints__user__search_users__Response__UserInstance":{"properties":{"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization that this user belongs to."},"user_id":{"type":"string","title":"User Id","description":"The identifier of the user."},"first_name":{"type":"string","title":"First Name","description":"The first name of the user."},"last_name":{"type":"string","title":"Last Name","description":"The last name of the user."},"email":{"type":"string","title":"Email","description":"Email of the user."},"user_stats":{"$ref":"#/components/schemas/UserStats","description":"Statistics about the user's usage of the Amigo platform."},"role":{"type":"string","title":"Role","description":"The ID of the role of the user."},"preferences":{"$ref":"#/components/schemas/Preferences-Output","description":"The preferences of the user."},"nonsensitive_variables":{"additionalProperties":{"type":"string"},"type":"object","title":"Nonsensitive Variables","description":"The user's nonsensitive variables."},"sensitive_variables":{"items":{"type":"string"},"type":"array","title":"Sensitive Variables","description":"The names of the user's sensitive variables. The values of these variables are not retrievable."}},"type":"object","required":["org_id","user_id","first_name","last_name","email","user_stats","role","preferences","nonsensitive_variables","sensitive_variables"],"title":"UserInstance"},"src__app__endpoints__user__sign_in_with_api_key__Response":{"properties":{"id_token":{"type":"string","title":"Id Token","description":"The ID token that should be attached to the Authorization header for future API calls."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"The time at which the token expires."}},"type":"object","required":["id_token","expires_at"],"title":"SigninWithAPIKeyResponse"},"src__app__endpoints__user__sign_in_with_email__Request":{"properties":{"redirect_link":{"type":"string","minLength":1,"format":"uri","title":"Redirect Link","description":"An Amigo platform link that the user gets redirected to after clicking the login link."},"email":{"type":"string","format":"email","title":"Email","description":"Email of the user. This must correspond to an existing, verified user in the Amigo platform."}},"type":"object","required":["redirect_link","email"],"title":"Request"},"src__app__endpoints__user__update_user_info__Request":{"properties":{"first_name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The first name of the user to update. If `null`, the first name is not modified."},"last_name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The last name of the user to update. If `null`, the last name is not modified."},"enable_response_recommendation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Response Recommendation","description":"Whether to automatically recommend responses to the user if the user hasn't replied to the coach for a while. If `null`, the preference is not modified."},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language for the user. The agent will attempt to converse to the user in this language if set. This field must be in the [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) format.\nIf `null`, erase the user's preferred setting, and the specific language used will be the agent's default spoken language. In order to not update this field, leave it out of the request or\nset it to an empty object (`_NotSet`).","default":{}},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Timezone","description":"The user's timezone in the IANA tz database format. If not specified, the organization's timezone is used.","default":{}},"conversations_visible_to_admins":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Conversations Visible To Admins","description":"Whether conversations are visible to the admins. If `null`, the preference is not modified."},"user_model_visible_to_admins":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"User Model Visible To Admins","description":"Whether the user's user model is visible to the admins. If `null`, the preference is not modified."},"additional_context":{"anyOf":[{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array"},{"type":"null"}],"title":"Additional Context","description":"A list of additional context to update. If `null`, the context is not modified."},"audio_keyterms":{"anyOf":[{"items":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z-_____a-z-____0_2____"},"type":"array","maxItems":20},{"type":"null"}],"title":"Audio Keyterms","description":"A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service. If `null`, the keyterms are not modified."}},"type":"object","title":"Request"},"src__app__endpoints__webhook_destination__create_webhook_destination__Request":{"properties":{"url":{"type":"string","minLength":1,"format":"uri","title":"Url","description":"The URL to which the webhook will be sent. The URL must be in HTTPS."},"accepted_types":{"items":{"$ref":"#/components/schemas/WebhookType"},"type":"array","title":"Accepted Types","description":"A list of webhook types to receive."},"retry_attempts":{"type":"integer","maximum":5.0,"exclusiveMinimum":0.0,"title":"Retry Attempts","description":"The number of attempts to retry sending the webhook event in case of failure.","default":3}},"type":"object","required":["url","accepted_types"],"title":"Request"},"src__app__endpoints__webhook_destination__create_webhook_destination__Response":{"properties":{"webhook_destination_id":{"type":"string","title":"Webhook Destination Id","description":"The ID of the created webhook destination."},"secret":{"type":"string","title":"Secret","description":"The secret used to sign the webhook event. This is only visible once and cannot be retrieved later."}},"type":"object","required":["webhook_destination_id","secret"],"title":"Response"},"src__app__endpoints__webhook_destination__get_webhook_deliveries__Response":{"properties":{"webhook_deliveries":{"items":{"$ref":"#/components/schemas/WebhookDeliveryInstance"},"type":"array","title":"Webhook Deliveries","description":"The retrieved webhook deliveries."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more webhook deliveries to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retrieve the next page of webhook deliveries. Only populated if `has_more` is `True`."}},"type":"object","required":["webhook_deliveries","has_more","continuation_token"],"title":"Response"},"src__app__endpoints__webhook_destination__get_webhook_destinations__Response":{"properties":{"webhook_destinations":{"items":{"$ref":"#/components/schemas/WebhookDestination"},"type":"array","title":"Webhook Destinations","description":"The retrieved webhook destinations."}},"type":"object","required":["webhook_destinations"],"title":"Response"},"src__app__endpoints__webhook_destination__rotate_webhook_destination_secret__Response":{"properties":{"secret":{"type":"string","title":"Secret","description":"The new secret used to sign the webhook event. This is only visible once and cannot be retrieved later. For the next 30 minutes, the webhook will be signed by both\nthe old and the new secret."},"dual_signing_stops_at":{"type":"string","format":"date-time","title":"Dual Signing Stops At","description":"A UTC time where the dual-signing behavior stops. After this time, webhooks will only be signed using the new secret from this endpoint."}},"type":"object","required":["secret","dual_signing_stops_at"],"title":"Response"},"src__app__endpoints__webhook_destination__update_webhook_destination__Request":{"properties":{"retry_attempts":{"anyOf":[{"type":"integer","maximum":5.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Retry Attempts","description":"The number of attempts to retry sending the webhook event in case of failure. If not specified, this field is not updated."},"accepted_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/WebhookType"},"type":"array"},{"type":"null"}],"title":"Accepted Types","description":"A list of webhook types to receive. If not specified, this field is not updated."}},"type":"object","title":"Request"}},"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."},"Bearer-Authorization-Organization":{"type":"apiKey","in":"header","name":"X-ORG-ID","description":"An optional organization identifier that indicates from which organization the token is issued. This is used in rare cases where the user to authenticate is making a request for resources in another organization."},"Basic":{"type":"http","scheme":"basic","description":"The username should be set to {org_id}_{user_id}, and the password should be the Amigo issued JWT token that identifies the user."}}},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}]}