# Models

## The AuthenticationTokenRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AuthenticationTokenRequest":{"description":"Contains information for obtaining an authentication token","default":{"username":"username","password":"password","grant_type":"password","scope":"unused","utc_expiration_date":"2026-05-26T01:56:25.28112Z"},"required":["username","password","grant_type"],"type":"object","properties":{"username":{"description":"Username for user requesting token","type":"string"},"password":{"description":"Password for user requesting token","type":"string"},"grant_type":{"description":"Only \"password\" is supported currently","type":"string"},"scope":{"description":"Scope of the access request","type":"string"},"utc_expiration_date":{"format":"date-time","description":"Optional expiration date for the token (set to null for no expiration)","type":"string"}}}}}}
```

## The AuthenticationTokenResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AuthenticationTokenResponse":{"title":"AuthenticationTokenResponse","description":" Should conform to RFC 6750 Section 4 https://tools.ietf.org/html/rfc6750#section-4\r\n and https://tools.ietf.org/html/rfc6749#section-4.2.2\r\n If the resource owner grants the access request, the authorization\r\n server issues an access token and delivers it to the client by adding\r\nthe following parameters to the fragment component of the redirection\r\nURI using the \"application/x-www-form-urlencoded\" format, per\r\nAppendix B:","default":{"access_token":"12345678-1234-5678-9abc-123456789abc","token_type":"bearer","expires_in":3600,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["access_token","token_type","api_error_entity"],"type":"object","properties":{"access_token":{"format":"uuid","description":"REQUIRED.  The access token issued by the authorization server.","type":"string"},"token_type":{"description":"  REQUIRED.  The type of the token issued as described in\r\nSection 7.1.  Value is case insensitive.","type":"string"},"expires_in":{"format":"int32","description":" RECOMMENDED.  The lifetime in seconds of the access token.  For\r\nexample, the value \"3600\" denotes that the access token will\r\nexpire in one hour from the time the response was generated.\r\nIf omitted, the authorization server SHOULD provide the\r\nexpiration time via other means or document the default value.\r\nThis field will be excluded from the response if the client provides\r\na specific expiration date in the request.","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The ApiErrorEntity object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The ApiResponseBase object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ApiResponseBase":{"title":"NexPort API Response","description":"Base class for api responses","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The ValidateAccessTokenResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ValidateAccessTokenResponse":{"title":"ValidateAccessTokenResponse","description":"Contains token expiration date or error message if the token is expired or invalid","default":{"utc_expiration_date":"2015-12-25T19:25:24.731+00:00","error_message":"Token expired","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"utc_expiration_date":{"format":"date-time","description":"When the token expires or null if it is already expired or invalid\r\n(or if the token never expires, in which case ErrorMessage will also be empty)","type":"string"},"error_message":{"description":"Message describing why the token cannot be used, if applicable","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateUserRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateUserRequest":{"description":"Contains fields for creating a new user","required":["owner_org_id","login","password","first_name","last_name"],"type":"object","properties":{"owner_org_id":{"format":"uuid","description":"Id of the user's owner organization","type":"string"},"login":{"description":"The login for this account","type":"string"},"password":{"description":"The password for this account","type":"string"},"first_name":{"description":"First name of the user","type":"string"},"middle_name":{"description":"Middle name of the user","type":"string"},"last_name":{"description":"Last name of the user","type":"string"},"email":{"description":"Email address of the user","type":"string"},"title":{"description":"User's title prefix","type":"string"},"nickname":{"description":"User's nickname","type":"string"},"contact_info":{"$ref":"#/components/schemas/UserContactInfoRequest","description":"User's contact info"}}},"UserContactInfoRequest":{"description":"Inherits all fields from UserContactInfoBase, used in EditUser api method.","required":["api_error_entity"],"type":"object","properties":{"address_line_1":{"description":"First line of user's address","type":"string"},"address_line_2":{"description":"Second line of user's address","type":"string"},"city":{"description":"User's city","type":"string"},"state":{"description":"User's state","type":"string"},"country":{"description":"User's country","type":"string"},"postal_code":{"description":"User's postal code","type":"string"},"phone":{"description":"User's phone number","type":"string"},"mobile":{"description":"User's mobile phone number","type":"string"},"fax":{"description":"User's fax number","type":"string"},"caption":{"description":"Caption","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The UserContactInfoRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"UserContactInfoRequest":{"description":"Inherits all fields from UserContactInfoBase, used in EditUser api method.","required":["api_error_entity"],"type":"object","properties":{"address_line_1":{"description":"First line of user's address","type":"string"},"address_line_2":{"description":"Second line of user's address","type":"string"},"city":{"description":"User's city","type":"string"},"state":{"description":"User's state","type":"string"},"country":{"description":"User's country","type":"string"},"postal_code":{"description":"User's postal code","type":"string"},"phone":{"description":"User's phone number","type":"string"},"mobile":{"description":"User's mobile phone number","type":"string"},"fax":{"description":"User's fax number","type":"string"},"caption":{"description":"Caption","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateUserResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateUserResponse":{"title":"CreateUserResponse","description":"Contains the id of the user created by the CreateUser web api method","default":{"user_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["user_id","api_error_entity"],"type":"object","properties":{"user_id":{"format":"uuid","description":"Id of the created user","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetUserResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetUserResponse":{"title":"GetUserResponse","description":"Contains user information","default":{"id":"12345678-1234-5678-9abc-123456789abc","user_id":"12345678-1234-5678-9abc-123456789abc","owner_org_id":"12345678-1234-5678-9abc-123456789abc","owner_org_short_name":"testorg","last_name":"lname","middle_name":"mname","first_name":"fname","email":"email@test.com","internal-email":"email@test.com","title":"Mr.","nickname":"Bobby","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["user_id","last_name","first_name","api_error_entity"],"type":"object","properties":{"user_id":{"format":"uuid","description":"Id of the user","type":"string"},"owner_org_id":{"format":"uuid","description":"Id of the user's owner organization","type":"string"},"owner_org_short_name":{"description":"Short name of the user's owner organization","type":"string"},"last_name":{"description":"Last name of the user","type":"string"},"middle_name":{"description":"Middle name of the user","type":"string"},"first_name":{"description":"First name of the user","type":"string"},"email":{"description":"Email address of the user","type":"string"},"internal-email":{"description":"Email address used for internal communications within NexPort Campus","type":"string"},"title":{"description":"User's title prefix","type":"string"},"nickname":{"description":"User's nickname","type":"string"},"owner_org_name":{"description":"Full name of the owner org","type":"string"},"owner_org":{"$ref":"#/components/schemas/OrganizationResponseItem","description":"User's Owner Organization"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"OrganizationResponseItem":{"title":"OrganizationResponseItem","description":"Contains organization name, short name, and custom fields","default":{"id":"12345678-1234-5678-9abc-123456789abc","org_id":"12345678-1234-5678-9abc-123456789abc","name":"Test Organization","short_name":"testorg","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["org_id","name","short_name","api_error_entity"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the organization","type":"string"},"name":{"description":"Name of the organization","type":"string"},"short_name":{"description":"Short name of the organization","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The OrganizationResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"OrganizationResponseItem":{"title":"OrganizationResponseItem","description":"Contains organization name, short name, and custom fields","default":{"id":"12345678-1234-5678-9abc-123456789abc","org_id":"12345678-1234-5678-9abc-123456789abc","name":"Test Organization","short_name":"testorg","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["org_id","name","short_name","api_error_entity"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the organization","type":"string"},"name":{"description":"Name of the organization","type":"string"},"short_name":{"description":"Short name of the organization","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The UserContactInfoResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"UserContactInfoResponse":{"title":"UserContactInfoResponse","description":"Inherits all fields from UserContactInfoBase, used in GetUserContactInfo api method.","default":{"user_id":"12345678-1234-5678-9abc-123456789abc","address_line_1":"1234 Wherever St","address_line_2":"Apt 1234","city":"Anytown","state":"Alabama","country":"USA","postal_code":"12345","phone":"(123) 456-7890","mobile":"(098) 765-4321","fax":"(111) 222-3333","caption":"Sample caption","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["user_id","api_error_entity"],"type":"object","properties":{"user_id":{"format":"uuid","description":"Id of the user this contact information belongs to","type":"string"},"address_line_1":{"description":"First line of user's address","type":"string"},"address_line_2":{"description":"Second line of user's address","type":"string"},"city":{"description":"User's city","type":"string"},"state":{"description":"User's state","type":"string"},"country":{"description":"User's country","type":"string"},"postal_code":{"description":"User's postal code","type":"string"},"phone":{"description":"User's phone number","type":"string"},"mobile":{"description":"User's mobile phone number","type":"string"},"fax":{"description":"User's fax number","type":"string"},"caption":{"description":"Caption","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateGroupRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateGroupRequest":{"title":"CreateGroupRequest","description":"","default":{"name":"English Students","short_name":"eng-students","billing_code":"NMX-120345-5","description":"Description of the group","parent_id":"3af8f0c6-c44b-4831-8d0a-3d771bc7f2a1"},"required":["name","short_name","billing_code","description","parent_id"],"type":"object","properties":{"name":{"description":"The name of the new group","type":"string"},"short_name":{"description":"Short name must be unique within the system...if any other groups have the same group name then an error will be thrown","type":"string"},"billing_code":{"description":"Any string value that can be used for tracking groups later","type":"string"},"description":{"description":"Description of the group","type":"string"},"parent_id":{"format":"uuid","description":"ID of the group or organization that this new group will be created under.","type":"string"}}}}}}
```

## The CreateGroupResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateGroupResponse":{"description":"","default":{"group_id":"9ca01a15-2b07-4801-91f2-783949b389d7","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["group_id","api_error_entity"],"type":"object","properties":{"group_id":{"format":"uuid","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateMembershipRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateMembershipRequest":{"title":"CreateMembershipRequest","description":"Create membership request object","default":{"groups":["074581a3-b18e-493d-80d5-23e7adb61b6c","17862fbe-31a6-4b2d-a07e-1c9944afed1b","c20ea428-7284-4e80-84fb-102c50279912"],"user_id":"879817cc-8e88-446c-b896-176d5d283e9e"},"required":["groups","user_id"],"type":"object","properties":{"groups":{"description":"The the groups to give the user a membership in","type":"array","items":{"format":"uuid","type":"string"}},"user_id":{"format":"uuid","description":"ID of the user to give memberships in each of the listed groups. The user must have subscriptions in the orgs that the groups belong to.","type":"string"}}}}}}
```

## The CreateMembershipResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateMembershipResponse":{"description":"Create membership response object","default":{"memberships":[{"membership_id":"107be6cf-de1d-4767-97ca-dcf40b4d2bdd","group_id":"9c8761b2-375c-4638-9b21-28a0946f15e0"},{"membership_id":"107be6cf-de1d-4767-97ca-dcf40b4d2bdd","group_id":"9c8761b2-375c-4638-9b21-28a0946f15e0"},{"membership_id":"107be6cf-de1d-4767-97ca-dcf40b4d2bdd","group_id":"9c8761b2-375c-4638-9b21-28a0946f15e0"}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["memberships","api_error_entity"],"type":"object","properties":{"memberships":{"description":"List of membership Ids created","type":"array","items":{"$ref":"#/components/schemas/MemberShipInfo"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"MemberShipInfo":{"description":"New membership info object","required":["membership_id","group_id"],"type":"object","properties":{"membership_id":{"format":"uuid","description":"The Id of the membership","type":"string"},"group_id":{"format":"uuid","description":"The group Id that the membership belong to","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The MemberShipInfo object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"MemberShipInfo":{"description":"New membership info object","required":["membership_id","group_id"],"type":"object","properties":{"membership_id":{"format":"uuid","description":"The Id of the membership","type":"string"},"group_id":{"format":"uuid","description":"The group Id that the membership belong to","type":"string"}}}}}}
```

## The RemoveMembershipRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"RemoveMembershipRequest":{"title":"RemoveMembershipRequest","description":"Remove membership request object","default":{"groups":["67b6e31f-72a0-4cd0-935c-411324119629","4350b0f9-ecc4-475a-8cb9-a07ebb2aa12f","04d03517-dad8-408d-b847-f18c40d6e751"],"user_id":"700b40c9-47b5-4e7f-bd4e-27de2526c437","memberships":["6b9bbc9f-f06d-4f1b-a8c5-14022a097c61","0450ae39-d584-4930-9191-260bb300c61f","24e8cce3-f1ef-498d-b12b-354b9d441035"]},"type":"object","properties":{"groups":{"description":"The list of membership group Ids to be removed","type":"array","items":{"format":"uuid","type":"string"}},"user_id":{"format":"uuid","description":"The user Id that will be used to remove the group membership(s)","type":"string"},"memberships":{"description":"The list of membership Ids to be removed","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The RemoveMembershipResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"RemoveMembershipResponse":{"title":"RemoveMembershipResponse","description":"Remove membership response object","default":{"memberships":[{"membership_id":"fd612a64-3fdb-41fd-b691-d4b3aadf3ab6","group_id":"c77d6769-5ebb-4ad9-97f9-c5b8363bfa97"}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["memberships","api_error_entity"],"type":"object","properties":{"memberships":{"description":"List of removed membership Ids","type":"array","items":{"$ref":"#/components/schemas/RemovedMembershipInfo"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"RemovedMembershipInfo":{"description":"Removed membership info","required":["membership_id","group_id"],"type":"object","properties":{"membership_id":{"format":"uuid","description":"The Id of the membership that has been removed","type":"string"},"group_id":{"format":"uuid","description":"The Id of the group that the membership has been removed from","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The RemovedMembershipInfo object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"RemovedMembershipInfo":{"description":"Removed membership info","required":["membership_id","group_id"],"type":"object","properties":{"membership_id":{"format":"uuid","description":"The Id of the membership that has been removed","type":"string"},"group_id":{"format":"uuid","description":"The Id of the group that the membership has been removed from","type":"string"}}}}}}
```

## The EditUserRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"EditUserRequest":{"description":"Contains fields for editing a user's profile","type":"object","properties":{"user_id":{"format":"uuid","description":"Id of the user whose information is being edited. Use either this OR login.","type":"string"},"login":{"description":"Login of the user whose information is being edited. User either this OR user_id.","type":"string"},"first_name":{"description":"First name of the user","type":"string"},"middle_name":{"description":"Middle name of the user","type":"string"},"last_name":{"description":"Last name of the user","type":"string"},"email":{"description":"User's email address","type":"string"},"title":{"description":"User's title prefix","type":"string"},"nickname":{"description":"User's nickname","type":"string"},"contact_info":{"$ref":"#/components/schemas/UserContactInfoRequest","description":"Other contact information about the user"}}},"UserContactInfoRequest":{"description":"Inherits all fields from UserContactInfoBase, used in EditUser api method.","required":["api_error_entity"],"type":"object","properties":{"address_line_1":{"description":"First line of user's address","type":"string"},"address_line_2":{"description":"Second line of user's address","type":"string"},"city":{"description":"User's city","type":"string"},"state":{"description":"User's state","type":"string"},"country":{"description":"User's country","type":"string"},"postal_code":{"description":"User's postal code","type":"string"},"phone":{"description":"User's phone number","type":"string"},"mobile":{"description":"User's mobile phone number","type":"string"},"fax":{"description":"User's fax number","type":"string"},"caption":{"description":"Caption","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The EditUserResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"EditUserResponse":{"title":"EditUserResponse","description":"Contains information about the edited user","default":{"user_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["user_id","api_error_entity"],"type":"object","properties":{"user_id":{"format":"uuid","description":"Id of the edited user","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateSubscriptionRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateSubscriptionRequest":{"description":"Contains fields for creating a new subscription","required":["org_id","user_id"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the subscription's organization","type":"string"},"user_id":{"format":"uuid","description":"The user id to create the subscription for","type":"string"}}}}}}
```

## The CreateSubscriptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateSubscriptionResponse":{"title":"CreateSubscriptionResponse","description":"Contains the id of the enrollment created by the CreateEnrollment web api method","default":{"subscription_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["subscription_id","api_error_entity"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the created subscription","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SubscriptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SubscriptionResponse":{"title":"SubscriptionResponse","description":"Contains relevant details about a user subscription","default":{"id":"12345678-1234-5678-9abc-123456789abc","subscription_id":"12345678-1234-5678-9abc-123456789abc","user_id":"12345678-1234-5678-9abc-123456789abc","org_id":"12345678-1234-5678-9abc-123456789abc","org_name":"Test Organization","org_shortname":"testorg","utc_date_created":"2015-12-25T19:25:24.731+00:00","utc_date_updated":"2015-12-25T19:25:24.731+00:00","billing_code":"Sample billing code","utc_expiration_date":"2015-12-25T19:25:24.731+00:00","is_disabled":false,"subscription_status":{"current_status_name":"Resubscribed","previous_status_name":"Withdrawn","status_date_set":"2015-12-25T19:25:24.731+00:00"},"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["subscription_id","user_id","org_id","utc_date_created","billing_code","utc_expiration_date","is_disabled","api_error_entity"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the subscription","type":"string"},"user_id":{"format":"uuid","description":"Id of the user this subscription belongs to","type":"string"},"org_id":{"format":"uuid","description":"Id of the organization this subscription belongs to","type":"string"},"org_name":{"description":"Name of the organization this subscription belongs to","type":"string"},"org_shortname":{"description":"Short name of the organization this subscription belongs to","type":"string"},"utc_date_created":{"format":"date-time","description":"When this subscription was created","type":"string"},"utc_date_updated":{"format":"date-time","description":"When this subscription was last updated","type":"string"},"billing_code":{"description":"The billing code for this subscription","type":"string"},"utc_expiration_date":{"format":"date-time","description":"When this subscription expires","type":"string"},"is_disabled":{"description":"True if disabled, false if not disabled","type":"boolean"},"subscription_status":{"$ref":"#/components/schemas/SubscriptionResponseStatus","description":"The status of this subscription (if applicable)"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"SubscriptionResponseStatus":{"title":"SubscriptionResponseStatus","description":"Contains information about current and previous subscription status","default":{"current_status_name":"Resubscribed","previous_status_name":"Withdrawn","status_date_set":"2015-12-25T19:25:24.731+00:00"},"required":["current_status_name","status_date_set"],"type":"object","properties":{"current_status_name":{"description":"The name of the current status","type":"string"},"previous_status_name":{"description":"The name of the previous status","type":"string"},"status_date_set":{"format":"date-time","description":"When this status was set","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SubscriptionResponseStatus object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SubscriptionResponseStatus":{"title":"SubscriptionResponseStatus","description":"Contains information about current and previous subscription status","default":{"current_status_name":"Resubscribed","previous_status_name":"Withdrawn","status_date_set":"2015-12-25T19:25:24.731+00:00"},"required":["current_status_name","status_date_set"],"type":"object","properties":{"current_status_name":{"description":"The name of the current status","type":"string"},"previous_status_name":{"description":"The name of the previous status","type":"string"},"status_date_set":{"format":"date-time","description":"When this status was set","type":"string"}}}}}}
```

## The SubscriptionSearchFilter object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SubscriptionSearchFilter":{"type":"object","properties":{"user_ids":{"description":"Limit the results to only subscriptions for these users","type":"array","items":{"format":"uuid","type":"string"}},"org_ids":{"description":"Limit the results to only subscriptions to these organizations","type":"array","items":{"format":"uuid","type":"string"}},"utc_expires_before":{"format":"date-time","description":"Only return subscriptions expiring before this date","type":"string"},"utc_expires_after":{"format":"date-time","description":"Only return subscriptions expiring after this date","type":"string"},"utc_create_before":{"format":"date-time","description":"Only return subscriptions createa before this date","type":"string"},"utc_create_after":{"format":"date-time","description":"Only return subscriptions created AFTER this date","type":"string"}}}}}}
```

## The SubscriptionSearchResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SubscriptionSearchResponse":{"description":"Results of a subscription search call","required":["page","page_size","total_count","api_error_entity"],"type":"object","properties":{"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionResponse"}},"page":{"format":"int32","description":"The one based index of the current page","type":"integer"},"page_size":{"format":"int32","description":"Requested page size","type":"integer"},"total_count":{"format":"int32","description":"Number of records across ALL pages","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"SubscriptionResponse":{"title":"SubscriptionResponse","description":"Contains relevant details about a user subscription","default":{"id":"12345678-1234-5678-9abc-123456789abc","subscription_id":"12345678-1234-5678-9abc-123456789abc","user_id":"12345678-1234-5678-9abc-123456789abc","org_id":"12345678-1234-5678-9abc-123456789abc","org_name":"Test Organization","org_shortname":"testorg","utc_date_created":"2015-12-25T19:25:24.731+00:00","utc_date_updated":"2015-12-25T19:25:24.731+00:00","billing_code":"Sample billing code","utc_expiration_date":"2015-12-25T19:25:24.731+00:00","is_disabled":false,"subscription_status":{"current_status_name":"Resubscribed","previous_status_name":"Withdrawn","status_date_set":"2015-12-25T19:25:24.731+00:00"},"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["subscription_id","user_id","org_id","utc_date_created","billing_code","utc_expiration_date","is_disabled","api_error_entity"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the subscription","type":"string"},"user_id":{"format":"uuid","description":"Id of the user this subscription belongs to","type":"string"},"org_id":{"format":"uuid","description":"Id of the organization this subscription belongs to","type":"string"},"org_name":{"description":"Name of the organization this subscription belongs to","type":"string"},"org_shortname":{"description":"Short name of the organization this subscription belongs to","type":"string"},"utc_date_created":{"format":"date-time","description":"When this subscription was created","type":"string"},"utc_date_updated":{"format":"date-time","description":"When this subscription was last updated","type":"string"},"billing_code":{"description":"The billing code for this subscription","type":"string"},"utc_expiration_date":{"format":"date-time","description":"When this subscription expires","type":"string"},"is_disabled":{"description":"True if disabled, false if not disabled","type":"boolean"},"subscription_status":{"$ref":"#/components/schemas/SubscriptionResponseStatus","description":"The status of this subscription (if applicable)"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"SubscriptionResponseStatus":{"title":"SubscriptionResponseStatus","description":"Contains information about current and previous subscription status","default":{"current_status_name":"Resubscribed","previous_status_name":"Withdrawn","status_date_set":"2015-12-25T19:25:24.731+00:00"},"required":["current_status_name","status_date_set"],"type":"object","properties":{"current_status_name":{"description":"The name of the current status","type":"string"},"previous_status_name":{"description":"The name of the previous status","type":"string"},"status_date_set":{"format":"date-time","description":"When this status was set","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The DisableSubscriptionRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"DisableSubscriptionRequest":{"description":"Contains information for enabling or disabling a subscription","required":["subscription_id"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the subscription to enable or disable","type":"string"},"disable":{"description":"Enable or disable this subscription. Setting this to false enables the subscription.\r\nSetting it to true will disable it.","type":"boolean"}}}}}}
```

## The DisableSubscriptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"DisableSubscriptionResponse":{"title":"DisableSubscriptionResponse","description":"Contains information about the subscription that was enabled/disabled. You can use this to verify\r\nthat the call to DisableSubscription had the intended effect on the subscription if no errors are thrown.","default":{"subscription_id":"12345678-1234-5678-9abc-123456789abc","disabled":true,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["subscription_id","disabled","api_error_entity"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the subscription that was enabled/disabled","type":"string"},"disabled":{"description":"True if subscription is disabled, false otherwise","type":"boolean"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SetSubscriptionStatusRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SetSubscriptionStatusRequest":{"title":"SetSubscriptionStatusRequest","default":{"subscription_id":"12345678-1234-5678-9abc-123456789abc","subscription_status":"New Status or empty string for default"},"required":["subscription_id","subscription_status"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"The Subscription Id","type":"string"},"subscription_status":{"description":"The status that should be set on this subscription. Use empty string to set the subscription status to the default subscription status.","type":"string"}}}}}}
```

## The SetSubscriptionStatusResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SetSubscriptionStatusResponse":{"title":"SetSubscriptionStatusResponse","default":{"subscription_id":"12345678-1234-5678-9abc-123456789abc","current_subscription_status":"Resubscribed","previous_scubscription_status":"Withdrawn","status_date_set":"2015-12-25T19:25:24.731+00:00","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["subscription_id","current_subscription_status","previous_scubscription_status","status_date_set","api_error_entity"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the Subscription","type":"string"},"current_subscription_status":{"description":"The current subscription status","type":"string"},"previous_scubscription_status":{"description":"The previous subscription status","type":"string"},"status_date_set":{"format":"date-time","description":"The datetime the status was last changed","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetCustomProfileFieldsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCustomProfileFieldsResponse":{"title":"GetCustomProfileFieldsResponse","description":"Contains information for a single custom profile field","default":{"field_id":"12345678-1234-5678-9abc-123456789abc","name":"Sample name","key":"Sample key","description":"Sample description","type":1,"org_id":"12345678-1234-5678-9abc-123456789abc","org_short_name":"testorg","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["field_id","name","key","description","type","org_id","org_short_name","api_error_entity"],"type":"object","properties":{"field_id":{"format":"uuid","description":"Id of the custom profile field","type":"string"},"name":{"description":"Represents the name of the custom profile field","type":"string"},"key":{"description":"Key of the custom profile field","type":"string"},"description":{"description":"Description of the custom profile field","type":"string"},"type":{"format":"int32","description":"Type of custom profile field.\r\nNone=0;\r\nText=1;\r\nDateTime=2;\r\nBoolean=3;\r\nNumeric=4;\r\nEmail=5;\r\nSelectDropDown=6;\r\nDateOnly=7;\r\nSelectCheckbox=8;0 = None, 1 = Text Field, 2 = Date/Time Field, 3 = YES/NO Field, 4 = Number Field, 5 = Email Field, 6 = Select Dropdown Field, 7 = Date Field, 8 = Select Checkbox Field","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"org_id":{"format":"uuid","description":"Id of the organization this custom profile field belongs to","type":"string"},"org_short_name":{"description":"Short name of the organization this custom profile field belongs to","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetCustomProfileFieldValuesResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCustomProfileFieldValuesResponse":{"title":"GetCustomProfileFieldValuesResponse","description":"Contains information for a single custom profile field value","default":{"name":"Sample name","key":"Sample key","value":"Sample string value","org_id":"12345678-1234-5678-9abc-123456789abc","org_short_name":"testorg","field_id":"12345678-1234-5678-9abc-123456789abc","type":1,"utc_date_modified":"2026-05-25T01:56:25.6411232Z","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["name","key","value","org_id","org_short_name","field_id","type","utc_date_modified","api_error_entity"],"type":"object","properties":{"name":{"description":"Represents the name of the custom field","type":"string"},"key":{"description":"Key of the custom field","type":"string"},"value":{"description":"Custom field value","type":"string"},"org_id":{"format":"uuid","description":"Id of the subscription organization this custom profile field value belongs to","type":"string"},"org_short_name":{"description":"Short name of the subscription organization this custom profile field value belongs to","type":"string"},"field_id":{"format":"uuid","description":"Id of the field this custom profile field value corresponds to","type":"string"},"type":{"format":"int32","description":"Type of custom profile field this value belongs to.\r\nNone=0;\r\nText=1;\r\nDateTime=2;\r\nBoolean=3;\r\nNumeric=4;\r\nEmail=5;\r\nSelectDropDown=6;\r\nDateOnly=7;\r\nSelectCheckbox=8;0 = None, 1 = Text Field, 2 = Date/Time Field, 3 = YES/NO Field, 4 = Number Field, 5 = Email Field, 6 = Select Dropdown Field, 7 = Date Field, 8 = Select Checkbox Field","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"utc_date_modified":{"format":"date-time","description":"Date/Time that the value was last modified","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SetCustomProfileFieldValuesRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SetCustomProfileFieldValuesRequest":{"description":"Contains id of the subscription and the custom fields/values to set","required":["subscriber_id","custom_profile_field_values"],"type":"object","properties":{"subscriber_id":{"format":"uuid","description":"Id of the subscription to set the custom values for","type":"string"},"subscriber_pair":{"$ref":"#/components/schemas/UserOrgPair","description":"User id and Org id of the subscription being searched for"},"custom_profile_field_values":{"description":"Custom profile field key/value pairs. The key should be the key given to the field NOT THE NAME.","type":"object","additionalProperties":{"type":"string"}}}},"UserOrgPair":{"type":"object","properties":{"user_id":{"format":"uuid","description":"A user id","type":"string"},"org_id":{"format":"uuid","description":"Organization ID","type":"string"}}}}}}
```

## The UserOrgPair object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"UserOrgPair":{"type":"object","properties":{"user_id":{"format":"uuid","description":"A user id","type":"string"},"org_id":{"format":"uuid","description":"Organization ID","type":"string"}}}}}}
```

## The SetCustomProfileFieldValuesResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SetCustomProfileFieldValuesResponse":{"title":"SetCustomProfileFieldValuesResponse","description":"Used to inform the method caller if any of the passed in fields are invalid.\r\nMessage may contain additional error information.","default":{"error":true,"message":"Sample error","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["error","api_error_entity"],"type":"object","properties":{"message":{"description":"Contains additional information about the type of error that occurred","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The DirectoryResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"DirectoryResponseItem":{"title":"DirectoryResponseItem","description":"Contains organization/group name, short name","default":{"id":"12345678-1234-5678-9abc-123456789abc","parent_org_id":"12345678-1234-5678-9abc-123456789abc","name":"Test Organization","short_name":"testorg","type":0,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["id","parent_org_id","name","short_name","api_error_entity"],"type":"object","properties":{"id":{"format":"uuid","description":"Id of an organization or a group","type":"string"},"parent_org_id":{"format":"uuid","description":"Id of the parent organization (if existed)","type":"string"},"name":{"description":"Name of the organization or the group","type":"string"},"short_name":{"description":"Short name of the organization or the group","type":"string"},"type":{"format":"int32","description":"Type of the directory, either an organization or a group","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The HasGroupPermissionRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"HasGroupPermissionRequest":{"description":"Model used for Request","default":{"user_id":"dfff0969-a799-45da-903a-afba8b65bab5","group_id":"d58cd934-8722-4aeb-a043-eef2c5578b8b","permission":"AddGroup"},"required":["user_id","group_id","permission"],"type":"object","properties":{"user_id":{"format":"uuid","description":"The User Id","type":"string"},"group_id":{"format":"uuid","description":"The Group Id","type":"string"},"permission":{"description":"The Permission.  From PermissionAttribute on Role Properties.","type":"string"}}}}}}
```

## The HasGroupPermissionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"HasGroupPermissionResponse":{"default":{"is_permitted":true,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["is_permitted","api_error_entity"],"type":"object","properties":{"is_permitted":{"type":"boolean"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SearchGroupsForPermissionRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SearchGroupsForPermissionRequest":{"description":"The Request object used for AdminApiController.SearchGroupsForPermission","default":{"user_id":"21fcda2c-db1f-45cb-bc62-91c8477b6048","org_id":"f24676a3-b1de-4bcb-97b6-1293e055aa96","permission":"AddGroup","page":1,"per_page":15},"required":["user_id","org_id","permission"],"type":"object","properties":{"user_id":{"format":"uuid","description":"The User Id","type":"string"},"org_id":{"format":"uuid","description":"The Organization Id to look for permissions under.","type":"string"},"permission":{"description":"The Permission Attribute Name Value from the Role class","type":"string"},"page":{"format":"int32","description":"The page to return","type":"integer"},"per_page":{"format":"int32","description":"The number of items per page","type":"integer"}}}}}}
```

## The SearchGroupsForPermissionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SearchGroupsForPermissionResponse":{"description":"The Request object used for AdminApiController.SearchGroupsForPermission","default":{"groups":[{"id":"ab28ee13-b1a3-427e-aba8-d712ac7de5d2","parent_org_id":"2b43ea82-cd68-47c8-a75c-fa037f687156","name":"TheName_1","short_name":"TheShortName_1","type":0,"api_error_entity":{"error_code":0,"warning_messages":[]}},{"id":"3c9c2692-be72-44ae-9e03-93bde36d2974","parent_org_id":"fc963132-ac56-45cc-948b-f98606ad7e6a","name":"TheName_A","short_name":"TheShortName_A","type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}}],"page":1,"page_size":15,"total_count":0,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["groups","page","page_size","total_count","api_error_entity"],"type":"object","properties":{"groups":{"description":"Groups where the user has permission","type":"array","items":{"$ref":"#/components/schemas/DirectoryResponseItem"}},"page":{"format":"int32","description":"The one based index of the current page","type":"integer"},"page_size":{"format":"int32","description":"Requested page size","type":"integer"},"total_count":{"format":"int32","description":"Number of records across ALL pages","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"DirectoryResponseItem":{"title":"DirectoryResponseItem","description":"Contains organization/group name, short name","default":{"id":"12345678-1234-5678-9abc-123456789abc","parent_org_id":"12345678-1234-5678-9abc-123456789abc","name":"Test Organization","short_name":"testorg","type":0,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["id","parent_org_id","name","short_name","api_error_entity"],"type":"object","properties":{"id":{"format":"uuid","description":"Id of an organization or a group","type":"string"},"parent_org_id":{"format":"uuid","description":"Id of the parent organization (if existed)","type":"string"},"name":{"description":"Name of the organization or the group","type":"string"},"short_name":{"description":"Short name of the organization or the group","type":"string"},"type":{"format":"int32","description":"Type of the directory, either an organization or a group","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The TestAttemptResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"TestAttemptResponseItem":{"title":"TestAttemptResponseItem","description":"Contains details of a test attempt","default":{"attempt_id":"12345678-1234-5678-9abc-123456789abc","attempt_index":6,"start_date":"2015-12-25T19:25:24.731+00:00","last_time_left_update":"2015-12-25T19:25:24.731+00:00","finish_date":"2015-12-25T19:25:24.731+00:00","allow_relaunch":false,"time_left":"1.02:30:45","num_questions":10,"is_complete":true,"score":90,"comments":"Question 10 was way too difficult","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["attempt_id","attempt_index","allow_relaunch","num_questions","is_complete","api_error_entity"],"type":"object","properties":{"attempt_id":{"format":"uuid","description":"Id of this test attempt","type":"string"},"attempt_index":{"format":"int32","description":"Which attempt number this is. Index is ZERO BASED.","type":"integer"},"start_date":{"format":"date-time","description":"When the student started this attempt (in UTC)","type":"string"},"last_time_left_update":{"format":"date-time","description":"When the TimeLeft field was last modified","type":"string"},"finish_date":{"format":"date-time","description":"When the student completed this attempt (in UTC)","type":"string"},"allow_relaunch":{"description":"Whether or not the student can relaunch the test after exiting without finishing","type":"boolean"},"time_left":{"description":"How much time the student has remaining to complete this attempt","type":"string"},"num_questions":{"format":"int32","description":"The number of questions that this attempt was created with","type":"integer"},"is_complete":{"description":"Has this attempt been submitted?","type":"boolean"},"score":{"format":"double","description":"The score for this attempt or null if is_complete is set to false","type":"number"},"comments":{"description":"Any additional comments from the student for this test attempt.","type":"string"},"proctor_response_item":{"$ref":"#/components/schemas/ProctorResponseItem","description":"Additional infomation about the proctor or null if not proctored"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ProctorResponseItem":{"description":"Contains information related to the proctor for an assignment","required":["proctor_id","proctor_user_id","proctor_code","proctor_first_name","proctor_last_name","organization_access_code_id","access_code","date_proctored","api_error_entity"],"type":"object","properties":{"proctor_id":{"format":"uuid","description":"Id of the Proctor","type":"string"},"proctor_user_id":{"format":"uuid","description":"User Id of the Proctor","type":"string"},"proctor_code":{"description":"Code assigned to the proctor","type":"string"},"proctor_first_name":{"description":"The first name of the proctor","type":"string"},"proctor_last_name":{"description":"The last name of the proctor","type":"string"},"organization_access_code_id":{"format":"uuid","description":"The Id of the Access Code","type":"string"},"access_code":{"description":"The Access Code used","type":"string"},"date_proctored":{"format":"date-time","description":"When the proctor unlocked the assignment (in UTC)","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The ProctorResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ProctorResponseItem":{"description":"Contains information related to the proctor for an assignment","required":["proctor_id","proctor_user_id","proctor_code","proctor_first_name","proctor_last_name","organization_access_code_id","access_code","date_proctored","api_error_entity"],"type":"object","properties":{"proctor_id":{"format":"uuid","description":"Id of the Proctor","type":"string"},"proctor_user_id":{"format":"uuid","description":"User Id of the Proctor","type":"string"},"proctor_code":{"description":"Code assigned to the proctor","type":"string"},"proctor_first_name":{"description":"The first name of the proctor","type":"string"},"proctor_last_name":{"description":"The last name of the proctor","type":"string"},"organization_access_code_id":{"format":"uuid","description":"The Id of the Access Code","type":"string"},"access_code":{"description":"The Access Code used","type":"string"},"date_proctored":{"format":"date-time","description":"When the proctor unlocked the assignment (in UTC)","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The TestSurveyResultsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"TestSurveyResultsResponse":{"title":"TestSurveyResultsResponse","description":"Contains a list of responses for a particular student for a given test/survey assignment","default":{"test_survey_results":[{"option_ids":["12345678-1234-5678-9abc-123456789abc","1234abcd-1234-abcd-1234-123456abcdef"],"question_id":"12345678-1234-5678-9abc-123456789abc","answer_id":"12345678-1234-5678-9abc-123456789abc","is_answered":true,"is_skipped":false,"is_bookmarked":true,"display_order":2,"open_ended_answer":"Sample open ended answer","chosen_option_ids":["1234abcd-1234-abcd-1234-123456abcdef"]}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["test_survey_results","api_error_entity"],"type":"object","properties":{"test_survey_results":{"description":"Student responses for this assignment and associated information","type":"array","items":{"$ref":"#/components/schemas/TestSurveyResultsResponseItem"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"TestSurveyResultsResponseItem":{"description":"This represents a test/survey question and a student response","required":["question_id","answer_id","is_answered","is_skipped","is_bookmarked","utc_date_created"],"type":"object","properties":{"option_ids":{"description":"List of ids for possible options on this question (if it is not strictly open ended). Match these ids up\r\nwith the option ids from GetQuestionOption to get the option text.","type":"array","items":{"format":"uuid","type":"string"}},"question_id":{"format":"uuid","description":"Id of the question on the test/survey. Use this to get the question text and text for the different options\r\nfrom the GetTestQuestion method.","type":"string"},"answer_id":{"format":"uuid","description":"Id of the student's answer on this test/survey","type":"string"},"is_answered":{"description":"Whether or not the student has answered this question","type":"boolean"},"is_skipped":{"description":"Whether or not the student has skipped this question","type":"boolean"},"is_bookmarked":{"description":"Whether or not the student has bookmarked this question","type":"boolean"},"display_order":{"format":"int32","description":"Used for determining the order by which the answers are displayed. Zero based.","type":"integer"},"open_ended_answer":{"description":"Student's open ended response (if applicable for this question)","type":"string"},"utc_date_created":{"format":"date-time","description":"When the student started the test attempt that this question is tied to.\r\nIf, for whatever reason, the test start date was null, then it is set\r\nto the test attempt's assignment status creation date.","type":"string"},"chosen_option_ids":{"description":"List of ids for options that the student selected on this question (if it is not strictly open ended).\r\nMatch these ids up with the option ids from GetTestQuestion to get the option text.","type":"array","items":{"format":"uuid","type":"string"}}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The TestSurveyResultsResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"TestSurveyResultsResponseItem":{"description":"This represents a test/survey question and a student response","required":["question_id","answer_id","is_answered","is_skipped","is_bookmarked","utc_date_created"],"type":"object","properties":{"option_ids":{"description":"List of ids for possible options on this question (if it is not strictly open ended). Match these ids up\r\nwith the option ids from GetQuestionOption to get the option text.","type":"array","items":{"format":"uuid","type":"string"}},"question_id":{"format":"uuid","description":"Id of the question on the test/survey. Use this to get the question text and text for the different options\r\nfrom the GetTestQuestion method.","type":"string"},"answer_id":{"format":"uuid","description":"Id of the student's answer on this test/survey","type":"string"},"is_answered":{"description":"Whether or not the student has answered this question","type":"boolean"},"is_skipped":{"description":"Whether or not the student has skipped this question","type":"boolean"},"is_bookmarked":{"description":"Whether or not the student has bookmarked this question","type":"boolean"},"display_order":{"format":"int32","description":"Used for determining the order by which the answers are displayed. Zero based.","type":"integer"},"open_ended_answer":{"description":"Student's open ended response (if applicable for this question)","type":"string"},"utc_date_created":{"format":"date-time","description":"When the student started the test attempt that this question is tied to.\r\nIf, for whatever reason, the test start date was null, then it is set\r\nto the test attempt's assignment status creation date.","type":"string"},"chosen_option_ids":{"description":"List of ids for options that the student selected on this question (if it is not strictly open ended).\r\nMatch these ids up with the option ids from GetTestQuestion to get the option text.","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The QuestionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"QuestionResponse":{"title":"QuestionResponse","description":"Contains text for a question and what type of question it is","default":{"open_ended_question_text":"Sample open ended text","question_text":"Sample question text","question_type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["question_type","api_error_entity"],"type":"object","properties":{"open_ended_question_text":{"description":"The text for the open ended question (if applicable)","type":"string"},"question_text":{"description":"The text for the question (if it is not strictly open ended)","type":"string"},"question_type":{"format":"int32","description":"What type of question this is.\r\nSingleSelect=1;\r\nMultiSelect=2;\r\nFivePointScale=3;1 = SingleSelect, 2 = MultiSelect, 3 = FivePointScale","enum":[1,2,3],"type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The QuestionOptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"QuestionOptionResponse":{"title":"QuestionOptionResponse","description":"Contains the text for a given test or survey question option and if it is correct","default":{"option_text":"Sample question option","is_correct":true,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["option_text","is_correct","api_error_entity"],"type":"object","properties":{"option_text":{"description":"Test/survey question option text","type":"string"},"is_correct":{"description":"Whether or not this option has been marked as a correct answer","type":"boolean"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The QuestionIdsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"QuestionIdsResponse":{"title":"QuestionIdsResponse","description":"Contains ids for all the questions tied to a particular test or survey assignment","default":{"question_ids":["12345678-1234-5678-9abc-123456789abc","1234abcd-1234-abcd-1234-123456abcdef"],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"question_ids":{"description":"List of question ids","type":"array","items":{"format":"uuid","type":"string"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The StudentResponses object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"StudentResponses":{"title":"StudentResponses","description":"Contains the question text and all the responses for a particular test/survey question","default":{"question_response":{"open_ended_question_text":"Sample open ended text","question_text":"Sample question text","question_type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"option_ids":["12345678-1234-5678-9abc-123456789abc","1234abcd-1234-abcd-1234-123456abcdef"],"student_response_list":[{"question_id":"12345678-1234-5678-9abc-123456789abc","answer_id":"12345678-1234-5678-9abc-123456789abc","is_answered":true,"is_skipped":false,"is_bookmarked":true,"display_order":2,"open_ended_answer":"Sample open ended answer","chosen_option_ids":["1234abcd-1234-abcd-1234-123456abcdef"]},{"question_id":"12345678-1234-5678-9abc-123456789abc","answer_id":"1234abcd-1234-abcd-1234-123456abcdef","is_answered":true,"is_skipped":false,"is_bookmarked":true,"display_order":2,"open_ended_answer":"Sample open ended answer 2","chosen_option_ids":["12345678-1234-5678-9abc-123456789abc"]}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["question_response","api_error_entity"],"type":"object","properties":{"question_response":{"$ref":"#/components/schemas/QuestionResponse","description":"Basic information about the question"},"option_ids":{"description":"List of ids for possible options on this question (if it is not strictly open ended). Match these ids up\r\nwith the option ids from GetQuestionOption to get the option text.","type":"array","items":{"format":"uuid","type":"string"}},"student_response_list":{"description":"List of student responses for this question (if any)","type":"array","items":{"$ref":"#/components/schemas/StudentResponseItem"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"QuestionResponse":{"title":"QuestionResponse","description":"Contains text for a question and what type of question it is","default":{"open_ended_question_text":"Sample open ended text","question_text":"Sample question text","question_type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["question_type","api_error_entity"],"type":"object","properties":{"open_ended_question_text":{"description":"The text for the open ended question (if applicable)","type":"string"},"question_text":{"description":"The text for the question (if it is not strictly open ended)","type":"string"},"question_type":{"format":"int32","description":"What type of question this is.\r\nSingleSelect=1;\r\nMultiSelect=2;\r\nFivePointScale=3;1 = SingleSelect, 2 = MultiSelect, 3 = FivePointScale","enum":[1,2,3],"type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"StudentResponseItem":{"description":"This represents a test/survey question and a student response.","required":["question_id","answer_id","is_answered","is_skipped","is_bookmarked","utc_date_created"],"type":"object","properties":{"question_id":{"format":"uuid","description":"Id of the question on the test/survey. Use this to get the question text and text for the different options\r\nfrom the GetTestQuestion method.","type":"string"},"answer_id":{"format":"uuid","description":"Id of the student's answer on this test/survey","type":"string"},"is_answered":{"description":"Whether or not the student has answered this question","type":"boolean"},"is_skipped":{"description":"Whether or not the student has skipped this question","type":"boolean"},"is_bookmarked":{"description":"Whether or not the student has bookmarked this question","type":"boolean"},"display_order":{"format":"int32","description":"Used for determining the order by which the answers are displayed. Zero based.","type":"integer"},"open_ended_answer":{"description":"Student's open ended response (if applicable for this question)","type":"string"},"utc_date_created":{"format":"date-time","description":"When the student started the test attempt that this question is tied to.\r\nIf, for whatever reason, the test start date was null, then it is set\r\nto the test attempt's assignment status creation date.","type":"string"},"chosen_option_ids":{"description":"List of ids for options that the student selected on this question (if it is not strictly open ended).\r\nMatch these ids up with the option ids from GetTestQuestion to get the option text.","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The StudentResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"StudentResponseItem":{"description":"This represents a test/survey question and a student response.","required":["question_id","answer_id","is_answered","is_skipped","is_bookmarked","utc_date_created"],"type":"object","properties":{"question_id":{"format":"uuid","description":"Id of the question on the test/survey. Use this to get the question text and text for the different options\r\nfrom the GetTestQuestion method.","type":"string"},"answer_id":{"format":"uuid","description":"Id of the student's answer on this test/survey","type":"string"},"is_answered":{"description":"Whether or not the student has answered this question","type":"boolean"},"is_skipped":{"description":"Whether or not the student has skipped this question","type":"boolean"},"is_bookmarked":{"description":"Whether or not the student has bookmarked this question","type":"boolean"},"display_order":{"format":"int32","description":"Used for determining the order by which the answers are displayed. Zero based.","type":"integer"},"open_ended_answer":{"description":"Student's open ended response (if applicable for this question)","type":"string"},"utc_date_created":{"format":"date-time","description":"When the student started the test attempt that this question is tied to.\r\nIf, for whatever reason, the test start date was null, then it is set\r\nto the test attempt's assignment status creation date.","type":"string"},"chosen_option_ids":{"description":"List of ids for options that the student selected on this question (if it is not strictly open ended).\r\nMatch these ids up with the option ids from GetTestQuestion to get the option text.","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The EnrollmentSearchFilter object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"EnrollmentSearchFilter":{"description":"Specify how to filter the search results for enrollments.","type":"object","properties":{"user_ids":{"description":"Limit the results to only enrollments for ANY of these users\r\nThis field is ignored if no IDs are provided","type":"array","items":{"format":"uuid","type":"string"}},"syllabus_unique_names":{"description":"Limit the results to only enrollments in syllabus' with ANY of these unique names.\r\nThis field is ignored if no IDs are provided","type":"array","items":{"type":"string"}},"org_ids":{"description":"Limit the results to only enrollments in ANY of these organizations (by ID).\r\nThis field is ignored if no IDs are provided","type":"array","items":{"format":"uuid","type":"string"}},"enrollment_ids":{"description":"Limit the results to only enrollments with any of these enrollment Ids.\r\nThis field is ignored if no IDs are provided","type":"array","items":{"format":"uuid","type":"string"}},"utc_activity_before":{"format":"date-time","description":"Only return enrollments with a last activity date before this date","type":"string"},"utc_activity_after":{"format":"date-time","description":"Only return enrollments with a last activity date after this date","type":"string"},"utc_enrolled_before":{"format":"date-time","description":"Only return enrollments created before this date","type":"string"},"utc_enrolled_after":{"format":"date-time","description":"Only return enrollments created AFTER this date","type":"string"},"utc_completed_before":{"format":"date-time","description":"Only return enrollments completed before this date","type":"string"},"utc_completed_after":{"format":"date-time","description":"Only return enrollments completed AFTER this date","type":"string"},"syllabus_ids":{"description":"Only return enrollments in any of these sylabus IDs.\r\nThis field is ignored if no IDs are provided","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The EnrollmentSearchResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"EnrollmentSearchResponse":{"description":"Enrollments matching the provided filter","required":["page","page_size","total_count","api_error_entity"],"type":"object","properties":{"enrollments":{"type":"array","items":{"$ref":"#/components/schemas/ApiEnrollmentItem"}},"page":{"format":"int32","description":"The one based index of the current page","type":"integer"},"page_size":{"format":"int32","description":"Requested page size","type":"integer"},"total_count":{"format":"int32","description":"Number of records across ALL pages","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiEnrollmentItem":{"description":"This class exposes the public fields of the Nexport Enrollment class\r\nfor use with the web api","required":["enrollment_id","result","phase","user_id"],"type":"object","properties":{"enrollment_id":{"format":"uuid","description":"Id of this enrollment","type":"string"},"enrollment_date":{"format":"date-time","description":"When this enrollment was created","type":"string"},"start_date":{"format":"date-time","description":"When this enrollment was started","type":"string"},"expiration_date":{"format":"date-time","description":"When this enrollment expires (UTC)","type":"string"},"completion_date":{"format":"date-time","description":"When this enrollment was completed by the student (UTC)","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus belonging to this enrollment","type":"string"},"first_activity_date":{"format":"date-time","description":"When this enrollment was first accessed (UTC)","type":"string"},"last_activity_date":{"format":"date-time","description":"When this enrollment was last accessed (UTC)","type":"string"},"result":{"format":"int32","description":"When in the completed state this describes what the end result is.0 = Not Graded, 1 = Passed, 2 = Failed","enum":[0,1,2],"type":"integer"},"phase":{"format":"int32","description":"The state of an activity.0 = Not Started, 1 = In Progress, 2 = Finished, 15 = To Be Graded, 16 = Resubmit Required","enum":[0,1,2,15,16],"type":"integer"},"user_id":{"format":"uuid","description":"Id of the user/student in the enrollment","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The ApiEnrollmentItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ApiEnrollmentItem":{"description":"This class exposes the public fields of the Nexport Enrollment class\r\nfor use with the web api","required":["enrollment_id","result","phase","user_id"],"type":"object","properties":{"enrollment_id":{"format":"uuid","description":"Id of this enrollment","type":"string"},"enrollment_date":{"format":"date-time","description":"When this enrollment was created","type":"string"},"start_date":{"format":"date-time","description":"When this enrollment was started","type":"string"},"expiration_date":{"format":"date-time","description":"When this enrollment expires (UTC)","type":"string"},"completion_date":{"format":"date-time","description":"When this enrollment was completed by the student (UTC)","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus belonging to this enrollment","type":"string"},"first_activity_date":{"format":"date-time","description":"When this enrollment was first accessed (UTC)","type":"string"},"last_activity_date":{"format":"date-time","description":"When this enrollment was last accessed (UTC)","type":"string"},"result":{"format":"int32","description":"When in the completed state this describes what the end result is.0 = Not Graded, 1 = Passed, 2 = Failed","enum":[0,1,2],"type":"integer"},"phase":{"format":"int32","description":"The state of an activity.0 = Not Started, 1 = In Progress, 2 = Finished, 15 = To Be Graded, 16 = Resubmit Required","enum":[0,1,2,15,16],"type":"integer"},"user_id":{"format":"uuid","description":"Id of the user/student in the enrollment","type":"string"}}}}}}
```

## The SectionEnrollmentsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SectionEnrollmentsResponse":{"title":"SectionEnrollmentsResponse","description":"Contains relevant section enrollment information","default":{"section":{"section_number":"SN 01","section_ceus":".2 CEUs","section_duration":"2 hours","id":"12345678-1234-5678-9abc-123456789abc","syllabus_id":"12345678-1234-5678-9abc-123456789abc","title":"Sample title","unique_name":"Sample name","utc_date_created":"2015-12-25T19:25:24.731+00:00","utc_date_last_modified":"2015-12-25T19:25:24.731+00:00","hidden":false,"disable_certificates_for_student":false,"allow_drops":false,"auto_enroll_new_members":false,"enrollment_duration":3,"enrollment_start":"2015-12-25T19:25:24.731+00:00","enrollment_end":"2015-12-25T19:25:24.731+00:00","final_drop_date":"2015-12-25T19:25:24.731+00:00","training_start":"2015-12-25T19:25:24.731+00:00","training_end":"2015-12-25T19:25:24.731+00:00","disable_manual_enrollment":false,"credit_hours":5,"api_error_entity":{"error_code":0,"warning_messages":[]}},"enrollment_day":25,"enrollment_month":12,"enrollment_year":2015,"subscription_id":"12345678-1234-5678-9abc-123456789abc","title":"Sample title","number":"101","assignment_count":10,"completed_assignment_count":7,"percent_assignments_complete":70,"weighted_score":550,"max_weighted_score":700,"id":"12345678-1234-5678-9abc-123456789abc","enrollment_id":"12345678-1234-5678-9abc-123456789abc","enrollment_date":"2015-12-25T19:25:24.731+00:00","start_date":"2015-12-25T19:25:24.731+00:00","expiration_date":"2015-12-25T19:25:24.731+00:00","completion_date":"2015-12-25T19:25:24.731+00:00","syllabus_id":"12345678-1234-5678-9abc-123456789abc","unique_name":"SN 101","result":1,"phase":1,"user_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["section","subscription_id","enrollment_id","result","phase","user_id","api_error_entity"],"type":"object","properties":{"section":{"$ref":"#/components/schemas/SectionResponse","description":"Contains relevant fields for the section this enrollment belongs to"},"enrollment_day":{"format":"int32","description":"Day the student enrolled","type":"integer"},"enrollment_month":{"format":"int32","description":"Month the student enrolled","type":"integer"},"enrollment_year":{"format":"int32","description":"Year the student enrolled","type":"integer"},"subscription_id":{"format":"uuid","description":"Id of the subscription this enrollment is attached to","type":"string"},"title":{"description":"Title of the section this enrollment belongs to","type":"string"},"number":{"description":"Number of the section this enrollment belongs to","type":"string"},"assignment_count":{"format":"int32","description":"Number of assignments in the section that is tied to this enrollment","type":"integer"},"completed_assignment_count":{"format":"int32","description":"How many assignments have been completed for this enrollment","type":"integer"},"percent_assignments_complete":{"format":"int32","description":"Return the percentage of assignments completed\r\nout of the total assignments for credit.","type":"integer"},"weighted_score":{"format":"int32","description":"The Weighted Score of this enrollment","type":"integer"},"max_weighted_score":{"format":"double","description":"The Max Weighted Score of this enrollment","type":"number"},"enrollment_id":{"format":"uuid","description":"Id of this enrollment","type":"string"},"enrollment_date":{"format":"date-time","description":"When this enrollment was created","type":"string"},"start_date":{"format":"date-time","description":"When this enrollment was started","type":"string"},"expiration_date":{"format":"date-time","description":"When this enrollment expires (UTC)","type":"string"},"completion_date":{"format":"date-time","description":"When this enrollment was completed by the student (UTC)","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus belonging to this enrollment","type":"string"},"unique_name":{"description":"UniqueName is meant to be a simple way to map a user defined identifier to\r\nto specific a syllabus without the risk of duplicates. The advantage over using\r\nthe Id is that it can be moved from one syllabus to another.","type":"string"},"first_activity_date":{"format":"date-time","description":"When this enrollment was first accessed (UTC)","type":"string"},"last_activity_date":{"format":"date-time","description":"When this enrollment was last accessed (UTC)","type":"string"},"result":{"format":"int32","description":"When in the completed state this describes what the end result is.0 = Not Graded, 1 = Passed, 2 = Failed","enum":[0,1,2],"type":"integer"},"phase":{"format":"int32","description":"The state of an activity.0 = Not Started, 1 = In Progress, 2 = Finished, 15 = To Be Graded, 16 = Resubmit Required","enum":[0,1,2,15,16],"type":"integer"},"user_id":{"format":"uuid","description":"Id of the user in the enrollment","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"SectionResponse":{"title":"Section Details","description":"Contains relevant section information","default":{"section_number":"SN 01 iIleF","section_ceus":".2 CEUs","section_duration":"2 hours","id":"d0bf02e8-c623-4d0a-abfe-febfa38fcd7f","syllabus_id":"d0bf02e8-c623-4d0a-abfe-febfa38fcd7f","title":"Sample title","unique_name":"Sample name","utc_date_created":"2015-11-25T19:25:24.731+00:00","utc_date_last_modified":"2015-12-25T19:25:24.731+00:00","hidden":false,"disable_certificates_for_student":false,"allow_drops":false,"auto_enroll_new_members":false,"enrollment_duration":3,"enrollment_start":"2015-12-15T19:25:24.731+00:00","enrollment_end":"2016-04-23T19:25:24.731+00:00","final_drop_date":"2016-04-23T19:25:24.731+00:00","training_start":"2015-12-25T19:25:24.731+00:00","training_end":"2016-04-23T19:25:24.731+00:00","disable_manual_enrollment":false,"credit_hours":5,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["section_number","section_ceus","section_duration","syllabus_id","title","enrollment_duration","enrollment_start","enrollment_end","final_drop_date","training_end","api_error_entity"],"type":"object","properties":{"section_number":{"description":"Section number","type":"string"},"section_ceus":{"description":"Section CEUs","type":"string"},"section_duration":{"description":"How long the section lasts","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus","type":"string"},"title":{"description":"Title for this syllabus","type":"string"},"unique_name":{"description":"UniqueName is meant to be a simple way to map a user defined identifier to\r\nto specific a syllabus without the risk of duplicates. The advantage over using\r\nthe Id is that it can be moved from one syllabus to another.","type":"string"},"utc_date_created":{"format":"date-time","description":"When this syllabus was created","type":"string"},"utc_date_last_modified":{"format":"date-time","description":"When this syllabus was last modified","type":"string"},"hidden":{"description":"Does the section show up on the enrollment list?","type":"boolean"},"disable_certificates_for_student":{"description":"Can the student print their own certificate","type":"boolean"},"allow_drops":{"description":"Are students allowed to drop the section on their own?","type":"boolean"},"auto_enroll_new_members":{"description":"Should groups auto-enroll new members into this section?","type":"boolean"},"end_after_period_from_enrollment_start":{"description":"Use EnrollmentDuration in calculating course end date","type":"boolean"},"enrollment_duration":{"format":"int32","description":"Duration of enrollment from enrollmentDate","type":"integer"},"enrollment_start":{"format":"date-time","description":"The first day that the student can be enrolled into this section","type":"string"},"enrollment_end":{"format":"date-time","description":"The last day that the student can be enrolled into this section","type":"string"},"final_drop_date":{"format":"date-time","description":"The last day that the student can drop this section","type":"string"},"training_start":{"format":"date-time","description":"When the section opens for launching.","type":"string"},"training_end":{"format":"date-time","description":"When the section closes.","type":"string"},"disable_manual_enrollment":{"description":"This controls whether or not the student can enroll themselves from the catalog view.\r\nAdministrators should still be able to enroll a student AND the student should still be able to purchase in the Marketplace if it's available for enrollment\r\nDon't use this in the model.","type":"boolean"},"credit_hours":{"format":"","description":"How many credit hours this syllabus is worth.","type":"number"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SectionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SectionResponse":{"title":"Section Details","description":"Contains relevant section information","default":{"section_number":"SN 01 iIleF","section_ceus":".2 CEUs","section_duration":"2 hours","id":"d0bf02e8-c623-4d0a-abfe-febfa38fcd7f","syllabus_id":"d0bf02e8-c623-4d0a-abfe-febfa38fcd7f","title":"Sample title","unique_name":"Sample name","utc_date_created":"2015-11-25T19:25:24.731+00:00","utc_date_last_modified":"2015-12-25T19:25:24.731+00:00","hidden":false,"disable_certificates_for_student":false,"allow_drops":false,"auto_enroll_new_members":false,"enrollment_duration":3,"enrollment_start":"2015-12-15T19:25:24.731+00:00","enrollment_end":"2016-04-23T19:25:24.731+00:00","final_drop_date":"2016-04-23T19:25:24.731+00:00","training_start":"2015-12-25T19:25:24.731+00:00","training_end":"2016-04-23T19:25:24.731+00:00","disable_manual_enrollment":false,"credit_hours":5,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["section_number","section_ceus","section_duration","syllabus_id","title","enrollment_duration","enrollment_start","enrollment_end","final_drop_date","training_end","api_error_entity"],"type":"object","properties":{"section_number":{"description":"Section number","type":"string"},"section_ceus":{"description":"Section CEUs","type":"string"},"section_duration":{"description":"How long the section lasts","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus","type":"string"},"title":{"description":"Title for this syllabus","type":"string"},"unique_name":{"description":"UniqueName is meant to be a simple way to map a user defined identifier to\r\nto specific a syllabus without the risk of duplicates. The advantage over using\r\nthe Id is that it can be moved from one syllabus to another.","type":"string"},"utc_date_created":{"format":"date-time","description":"When this syllabus was created","type":"string"},"utc_date_last_modified":{"format":"date-time","description":"When this syllabus was last modified","type":"string"},"hidden":{"description":"Does the section show up on the enrollment list?","type":"boolean"},"disable_certificates_for_student":{"description":"Can the student print their own certificate","type":"boolean"},"allow_drops":{"description":"Are students allowed to drop the section on their own?","type":"boolean"},"auto_enroll_new_members":{"description":"Should groups auto-enroll new members into this section?","type":"boolean"},"end_after_period_from_enrollment_start":{"description":"Use EnrollmentDuration in calculating course end date","type":"boolean"},"enrollment_duration":{"format":"int32","description":"Duration of enrollment from enrollmentDate","type":"integer"},"enrollment_start":{"format":"date-time","description":"The first day that the student can be enrolled into this section","type":"string"},"enrollment_end":{"format":"date-time","description":"The last day that the student can be enrolled into this section","type":"string"},"final_drop_date":{"format":"date-time","description":"The last day that the student can drop this section","type":"string"},"training_start":{"format":"date-time","description":"When the section opens for launching.","type":"string"},"training_end":{"format":"date-time","description":"When the section closes.","type":"string"},"disable_manual_enrollment":{"description":"This controls whether or not the student can enroll themselves from the catalog view.\r\nAdministrators should still be able to enroll a student AND the student should still be able to purchase in the Marketplace if it's available for enrollment\r\nDon't use this in the model.","type":"boolean"},"credit_hours":{"format":"","description":"How many credit hours this syllabus is worth.","type":"number"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The TrainingPlanEnrollmentsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"TrainingPlanEnrollmentsResponse":{"title":"TrainingPlanEnrollmentsResponse","description":"Contains id of the student that the enrollment belongs to","default":{"student_id":"00000000-0000-0000-0000-000000000000","subscription_id":"12345678-1234-5678-9abc-123456789abc","name":"Sample name","percent_requirements_fulfilled":60,"ed2go_registration_key":"Sample key","average_score":2,"grade_point_average":2,"id":"12345678-1234-5678-9abc-123456789abc","enrollment_id":"12345678-1234-5678-9abc-123456789abc","enrollment_date":"2015-12-25T19:25:24.731+00:00","start_date":"2015-12-25T19:25:24.731+00:00","expiration_date":"2015-12-25T19:25:24.731+00:00","completion_date":"2015-12-25T19:25:24.731+00:00","syllabus_id":"12345678-1234-5678-9abc-123456789abc","unique_name":"Sample name","first_activity_date":"2015-12-25T19:25:24.731+00:00","last_activity_date":"2015-12-25T19:25:24.731+00:00","result":1,"phase":1,"user_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["subscription_id","name","enrollment_id","result","phase","user_id","api_error_entity"],"type":"object","properties":{"subscription_id":{"format":"uuid","description":"Id of the subscription this enrollment belongs to","type":"string"},"name":{"description":"Name of the training plan that the enrollment is attached to","type":"string"},"percent_requirements_fulfilled":{"format":"int32","description":"Return the percentage of requirements that are fulfilled for this enrollment","type":"integer"},"ed2go_registration_key":{"description":"Registration key created by Ed2Go that corresponds to this enrollment (if applicable)","type":"string"},"average_score":{"format":"","description":"The Average Score of this enrollment","type":"number"},"grade_point_average":{"format":"","description":"The Grade Point Average (GPA) of this enrollment","type":"number"},"enrollment_id":{"format":"uuid","description":"Id of this enrollment","type":"string"},"enrollment_date":{"format":"date-time","description":"When this enrollment was created","type":"string"},"start_date":{"format":"date-time","description":"When this enrollment was started","type":"string"},"expiration_date":{"format":"date-time","description":"When this enrollment expires (UTC)","type":"string"},"completion_date":{"format":"date-time","description":"When this enrollment was completed by the student (UTC)","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus belonging to this enrollment","type":"string"},"unique_name":{"description":"UniqueName is meant to be a simple way to map a user defined identifier to\r\nto specific a syllabus without the risk of duplicates. The advantage over using\r\nthe Id is that it can be moved from one syllabus to another.","type":"string"},"first_activity_date":{"format":"date-time","description":"When this enrollment was first accessed (UTC)","type":"string"},"last_activity_date":{"format":"date-time","description":"When this enrollment was last accessed (UTC)","type":"string"},"result":{"format":"int32","description":"When in the completed state this describes what the end result is.0 = Not Graded, 1 = Passed, 2 = Failed","enum":[0,1,2],"type":"integer"},"phase":{"format":"int32","description":"The state of an activity.0 = Not Started, 1 = In Progress, 2 = Finished, 15 = To Be Graded, 16 = Resubmit Required","enum":[0,1,2,15,16],"type":"integer"},"user_id":{"format":"uuid","description":"Id of the user in the enrollment","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetCustomEnrollmentFieldsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCustomEnrollmentFieldsResponse":{"title":"GetCustomEnrollmentFieldsResponse","description":"Contains information about a single custom enrollment field","default":{"field_id":"12345678-1234-5678-9abc-123456789abc","name":"Sample name","key":"Sample key","description":"Sample description","type":1,"org_id":"12345678-1234-5678-9abc-123456789abc","org_short_name":"testorg","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["field_id","name","key","type","org_id","org_short_name","api_error_entity"],"type":"object","properties":{"field_id":{"format":"uuid","description":"Id of the custom field","type":"string"},"name":{"description":"Represents the name of the custom field","type":"string"},"key":{"description":"Key of the custom field","type":"string"},"description":{"description":"Description of the custom field","type":"string"},"type":{"format":"int32","description":"Type of custom enrollment field.\r\nNone=0;\r\nText=1;\r\nDateTime=2;\r\nBoolean=3;\r\nNumeric=4;\r\nEmail=5;\r\nSelectDropDown=6;\r\nDateOnly=7;\r\nSelectCheckbox=8;0 = None, 1 = Text Field, 2 = Date/Time Field, 3 = YES/NO Field, 4 = Number Field, 5 = Email Field, 6 = Select Dropdown Field, 7 = Date Field, 8 = Select Checkbox Field","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"org_id":{"format":"uuid","description":"Id of the organization this custom enrollment field belongs to","type":"string"},"org_short_name":{"description":"Short name of the organization this custom enrollment field belongs to","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetDefaultCustomEnrollmentFieldSettingResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetDefaultCustomEnrollmentFieldSettingResponse":{"title":"GetDefaultCustomEnrollmentFieldSettingResponse","description":"Contains information for a single custom enrollment field setting","default":{"field_id":"12345678-1234-5678-9abc-123456789abc","name":"Sample name","key":"Sample key","default_value":"Sample string value","setting_org_id":"12345678-1234-5678-9abc-123456789abc","setting_org_short_name":"testorg","field_org_id":"12345678-1234-5678-9abc-123456789abc","field_org_short_name":"testorg","type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["field_id","name","key","default_value","setting_org_id","setting_org_short_name","field_org_id","field_org_short_name","type","api_error_entity"],"type":"object","properties":{"field_id":{"format":"uuid","description":"Id of the field this custom enrollment field setting corresponds to","type":"string"},"name":{"description":"Represents the name of the custom field","type":"string"},"key":{"description":"Key of the custom field","type":"string"},"default_value":{"description":"Custom field default value","type":"string"},"setting_org_id":{"format":"uuid","description":"Id of the organization the default setting is in","type":"string"},"setting_org_short_name":{"description":"Short name of the organization the default setting is in","type":"string"},"field_org_id":{"format":"uuid","description":"Id of the organization the setting field is in","type":"string"},"field_org_short_name":{"description":"Short name of the organization the setting field is in","type":"string"},"type":{"format":"int32","description":"Type of custom enrollment field this setting belongs to.\r\nNone=0;\r\nText=1;\r\nDateTime=2;\r\nBoolean=3;\r\nNumeric=4;\r\nEmail=5;\r\nSelectDropDown=6;\r\nDateOnly=7;\r\nSelectCheckbox=8;0 = None, 1 = Text Field, 2 = Date/Time Field, 3 = YES/NO Field, 4 = Number Field, 5 = Email Field, 6 = Select Dropdown Field, 7 = Date Field, 8 = Select Checkbox Field","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetCustomEnrollmentFieldValuesResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCustomEnrollmentFieldValuesResponse":{"title":"GetCustomEnrollmentFieldValuesResponse","description":"Contains information for a single custom enrollment field value","default":{"name":"Sample name","key":"Sample key","value":"Sample string value","org_id":"12345678-1234-5678-9abc-123456789abc","org_short_name":"testorg","inherited_from_org_id":"12345678-1234-5678-9abc-123456789abc","inherited_from_org_short_name":"testorg","field_id":"12345678-1234-5678-9abc-123456789abc","type":1,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["name","key","value","org_id","org_short_name","field_id","type","api_error_entity"],"type":"object","properties":{"name":{"description":"Represents the name of the custom field","type":"string"},"key":{"description":"Key of the custom field","type":"string"},"value":{"description":"Custom field value","type":"string"},"org_id":{"format":"uuid","description":"Id of the enrollment organization this custom enrollment field value belongs to","type":"string"},"org_short_name":{"description":"Short name of the enrollment organization this custom enrollment field value belongs to","type":"string"},"inherited_from_org_id":{"format":"uuid","description":"Id of the organization this field is inherited from (if applicable)","type":"string"},"inherited_from_org_short_name":{"description":"Short name of the organization this field is inherited from (if applicable)","type":"string"},"field_id":{"format":"uuid","description":"Id of the field this custom enrollment field value corresponds to","type":"string"},"type":{"format":"int32","description":"Type of custom enrollment field this value belongs to.\r\nNone=0;\r\nText=1;\r\nDateTime=2;\r\nBoolean=3;\r\nNumeric=4;\r\nEmail=5;\r\nSelectDropDown=6;\r\nDateOnly=7;\r\nSelectCheckbox=8;0 = None, 1 = Text Field, 2 = Date/Time Field, 3 = YES/NO Field, 4 = Number Field, 5 = Email Field, 6 = Select Dropdown Field, 7 = Date Field, 8 = Select Checkbox Field","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SetCustomEnrollmentFieldValuesRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SetCustomEnrollmentFieldValuesRequest":{"description":"Contains id of the enrollment and the custom fields/values to set","required":["enrollment_id","custom_enrollment_field_values"],"type":"object","properties":{"enrollment_id":{"format":"uuid","description":"Id of the enrollment to set custom fields/values for","type":"string"},"custom_enrollment_field_values":{"description":"Custom enrollment field key/value pairs","type":"object","additionalProperties":{"type":"string"}}}}}}}
```

## The SetCustomEnrollmentFieldValuesResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SetCustomEnrollmentFieldValuesResponse":{"title":"SetCustomEnrollmentFieldValuesResponse","description":"Used to inform the method caller if any of the passed in fields are invalid.\r\nMessage may contain additional error information.","default":{"error":true,"message":"Sample error","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["error","api_error_entity"],"type":"object","properties":{"error":{"description":"Whether there was an error in the method","type":"boolean"},"message":{"description":"Contains additional information about the type of error that occurred","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The DropDeleteEnrollmentResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"DropDeleteEnrollmentResponse":{"title":"DropDeleteEnrollmentResponse","description":"Contains information pertaining to a dropped or deleted enrollment","default":{"enrollment_id":"12345678-1234-5678-9abc-123456789abc","is_dropped_or_deleted":true,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["enrollment_id","is_dropped_or_deleted","api_error_entity"],"type":"object","properties":{"enrollment_id":{"format":"uuid","description":"Id of the enrollment that was dropped or deleted","type":"string"},"is_dropped_or_deleted":{"description":"Can be used to verify that the enrollment was successfully removed if no errors occur.\r\nTrue if the enrollment no longer exists in the system, false otherwise.","type":"boolean"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateEnrollmentRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateEnrollmentRequest":{"description":"Contains fields for creating a new enrollment","required":["org_id","user_id","membership_group_ids"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the enrollment's organization","type":"string"},"user_id":{"format":"uuid","description":"The user id to create the enrollment for","type":"string"},"syllabus_id":{"format":"uuid","description":"The syllabus id to create the enrollment in","type":"string"},"syllabus_unique_name":{"description":"The syllabus unique name to create the enrollment in","type":"string"},"membership_group_ids":{"description":"Membership group ids to give the user a membership in","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The CreateEnrollmentResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateEnrollmentResponse":{"title":"CreateEnrollmentResponse","description":"Contains the id of the enrollment created by the CreateEnrollment web api method","default":{"enrollment_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["enrollment_id","api_error_entity"],"type":"object","properties":{"enrollment_id":{"format":"uuid","description":"Id of the created enrollment","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The AssignmentStatusResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AssignmentStatusResponseItem":{"title":"AssignmentStatusResponseItem","description":"Represents an assignment status for an assignment on an enrollment.","default":{"assignment_status_id":"12345678-1234-5678-9abc-123456789abc","phase":16,"result":2,"resubmit_required_reason":"Try harder","academic_override":true,"academic_override_reason":"Just because","utc_creation_date":"2015-12-25T19:25:24.731+00:00","utc_first_activity_date":"2015-12-25T19:25:24.731+00:00","utc_last_activity_date":"2015-12-25T19:25:24.731+00:00","utc_completion_date":"2015-12-25T19:25:24.731+00:00","academic_override_admin_id":"12345678-1234-5678-9abc-123456789abc","grade_given_by_id":"12345678-1234-5678-9abc-123456789abc","assignment_id":"12345678-1234-5678-9abc-123456789abc","enrollment_id":"12345678-1234-5678-9abc-123456789abc","user_id":"12345678-1234-5678-9abc-123456789abc","enrollment_score":300,"enrollment_max_score":600,"assignment_score":60,"assignment_max_score":100,"assignment_mastery_score":70,"assignment_weight":100,"assignment_weighted_score":60,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["assignment_status_id","phase","result","academic_override","utc_creation_date","assignment_id","enrollment_id","user_id","api_error_entity"],"type":"object","properties":{"assignment_status_id":{"format":"uuid","description":"Id of the assignment status","type":"string"},"phase":{"format":"int32","description":"The state of an activity.\r\nNotStarted=0;\r\nInProgress=1;\r\nFinished=2;\r\nToBeGraded=15;\r\nResubmitRequired=16;0 = Not Started, 1 = In Progress, 2 = Finished, 15 = To Be Graded, 16 = Resubmit Required","enum":[0,1,2,15,16],"type":"integer"},"result":{"format":"int32","description":"When an Activity/Enrollment is in the completed state an ActivityResult describes what the end result is.\r\nNotGraded=0;\r\nPassing=1;\r\nFailing=2;0 = Not Graded, 1 = Passed, 2 = Failed","enum":[0,1,2],"type":"integer"},"resubmit_required_reason":{"description":"Why the assignment must be resubmitted (if applicable)","type":"string"},"academic_override":{"description":"True if this assignment has been academically overridden by an admin","type":"boolean"},"academic_override_reason":{"description":"Why the assignment was academically overridden (if applicable)","type":"string"},"utc_creation_date":{"format":"date-time","description":"When this assignment status was created","type":"string"},"utc_first_activity_date":{"format":"date-time","description":"When the assignment first had activity (if applicable)","type":"string"},"utc_last_activity_date":{"format":"date-time","description":"When the assignment last had activity (if applicable)","type":"string"},"utc_completion_date":{"format":"date-time","description":"When the assignment was completed by the student (if applicable)","type":"string"},"academic_override_admin_id":{"format":"uuid","description":"Id of the admin who edited the assignment status (if applicable)","type":"string"},"grade_given_by_id":{"format":"uuid","description":"Id of the instructor or other operator that gave this grade.\r\nShould be null if the grade was system assigned","type":"string"},"assignment_id":{"format":"uuid","description":"Id of the assignment for this assignment status","type":"string"},"enrollment_id":{"format":"uuid","description":"Id of the enrollment for this assignment status","type":"string"},"user_id":{"format":"uuid","description":"Id of the user tied to the assignment status enrollment","type":"string"},"enrollment_score":{"format":"int32","description":"The Score of this enrollment","type":"integer"},"enrollment_max_score":{"format":"double","description":"The Max Score of this enrollment","type":"number"},"assignment_score":{"format":"int32","description":"The Score of this assignment","type":"integer"},"assignment_max_score":{"format":"double","description":"The Max Score of this assignment","type":"number"},"assignment_mastery_score":{"format":"double","description":"The Mastery Score of this assignment","type":"number"},"assignment_weight":{"format":"double","description":"The Weight of this assignment","type":"number"},"assignment_weighted_score":{"format":"","description":"The Weighted Score of this assignment","type":"number"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CertificateUrlResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CertificateUrlResponse":{"title":"CertificateUrlResponse","description":"Contains the url of a completed certificate","default":{"certificate_url":"http://www.nexportcampus.com/suborg/controller/action?foo=bar","certificate_ready":false,"certificate_not_assigned":false,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["certificate_url","certificate_ready","certificate_not_assigned","api_error_entity"],"type":"object","properties":{"certificate_url":{"description":"Url pointing to completed certificate pdf","type":"string"},"certificate_ready":{"description":"Returns true if the certificate is ready to be downloaded.","type":"boolean"},"certificate_not_assigned":{"description":"Will be set to TRUE if the Syllabus (Traning Plan or Section) for this enrollment has no assigned certificate.","type":"boolean"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetSectionsRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetSectionsRequest":{"title":"Get Sections Filter","description":"","required":["sections"],"type":"object","properties":{"sections":{"description":"List of section IDs of sections to return","type":"array","items":{"format":"uuid","type":"string"}}}}}}}
```

## The GetSectionsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetSectionsResponse":{"title":"Get Sections Result","description":"Contains relevant section information","required":["sections","api_error_entity"],"type":"object","properties":{"sections":{"description":"Array of sections","type":"array","items":{"$ref":"#/components/schemas/SectionResponse"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"SectionResponse":{"title":"Section Details","description":"Contains relevant section information","default":{"section_number":"SN 01 iIleF","section_ceus":".2 CEUs","section_duration":"2 hours","id":"d0bf02e8-c623-4d0a-abfe-febfa38fcd7f","syllabus_id":"d0bf02e8-c623-4d0a-abfe-febfa38fcd7f","title":"Sample title","unique_name":"Sample name","utc_date_created":"2015-11-25T19:25:24.731+00:00","utc_date_last_modified":"2015-12-25T19:25:24.731+00:00","hidden":false,"disable_certificates_for_student":false,"allow_drops":false,"auto_enroll_new_members":false,"enrollment_duration":3,"enrollment_start":"2015-12-15T19:25:24.731+00:00","enrollment_end":"2016-04-23T19:25:24.731+00:00","final_drop_date":"2016-04-23T19:25:24.731+00:00","training_start":"2015-12-25T19:25:24.731+00:00","training_end":"2016-04-23T19:25:24.731+00:00","disable_manual_enrollment":false,"credit_hours":5,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["section_number","section_ceus","section_duration","syllabus_id","title","enrollment_duration","enrollment_start","enrollment_end","final_drop_date","training_end","api_error_entity"],"type":"object","properties":{"section_number":{"description":"Section number","type":"string"},"section_ceus":{"description":"Section CEUs","type":"string"},"section_duration":{"description":"How long the section lasts","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus","type":"string"},"title":{"description":"Title for this syllabus","type":"string"},"unique_name":{"description":"UniqueName is meant to be a simple way to map a user defined identifier to\r\nto specific a syllabus without the risk of duplicates. The advantage over using\r\nthe Id is that it can be moved from one syllabus to another.","type":"string"},"utc_date_created":{"format":"date-time","description":"When this syllabus was created","type":"string"},"utc_date_last_modified":{"format":"date-time","description":"When this syllabus was last modified","type":"string"},"hidden":{"description":"Does the section show up on the enrollment list?","type":"boolean"},"disable_certificates_for_student":{"description":"Can the student print their own certificate","type":"boolean"},"allow_drops":{"description":"Are students allowed to drop the section on their own?","type":"boolean"},"auto_enroll_new_members":{"description":"Should groups auto-enroll new members into this section?","type":"boolean"},"end_after_period_from_enrollment_start":{"description":"Use EnrollmentDuration in calculating course end date","type":"boolean"},"enrollment_duration":{"format":"int32","description":"Duration of enrollment from enrollmentDate","type":"integer"},"enrollment_start":{"format":"date-time","description":"The first day that the student can be enrolled into this section","type":"string"},"enrollment_end":{"format":"date-time","description":"The last day that the student can be enrolled into this section","type":"string"},"final_drop_date":{"format":"date-time","description":"The last day that the student can drop this section","type":"string"},"training_start":{"format":"date-time","description":"When the section opens for launching.","type":"string"},"training_end":{"format":"date-time","description":"When the section closes.","type":"string"},"disable_manual_enrollment":{"description":"This controls whether or not the student can enroll themselves from the catalog view.\r\nAdministrators should still be able to enroll a student AND the student should still be able to purchase in the Marketplace if it's available for enrollment\r\nDon't use this in the model.","type":"boolean"},"credit_hours":{"format":"","description":"How many credit hours this syllabus is worth.","type":"number"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetDescriptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetDescriptionResponse":{"title":"GetDescriptionResponse","description":"Contains description of section/training plan/etc.","default":{"description":"Sample description","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["description","api_error_entity"],"type":"object","properties":{"description":{"description":"Description of section or training plan, etc.","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetObjectivesResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetObjectivesResponse":{"title":"GetObjectivesResponse","description":"Contains section objectives","default":{"objectives":"Sample objectives","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["objectives","api_error_entity"],"type":"object","properties":{"objectives":{"description":"Objectives of the section","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetStudentSessionsRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetStudentSessionsRequest":{"description":"Request Message for retrieving student sessions","required":["user_id","org_id","from_date","paging"],"type":"object","properties":{"user_id":{"format":"uuid","description":"User ID of the student sessions being searched for being searched","type":"string"},"org_id":{"format":"uuid","type":"string"},"section_id":{"format":"uuid","description":"If provided then the results will be limited to this one section id","type":"string"},"from_date":{"format":"date-time","type":"string"},"to_date":{"format":"date-time","type":"string"},"paging":{"$ref":"#/components/schemas/ApiPaginationOptions"}}},"ApiPaginationOptions":{"description":"Describe the page number and records per page","required":["page","per_page"],"type":"object","properties":{"page":{"format":"int32","description":"The page of records to retrieve","type":"integer"},"per_page":{"format":"int32","description":"How many records per page","type":"integer"}}}}}}
```

## The ApiPaginationOptions object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ApiPaginationOptions":{"description":"Describe the page number and records per page","required":["page","per_page"],"type":"object","properties":{"page":{"format":"int32","description":"The page of records to retrieve","type":"integer"},"per_page":{"format":"int32","description":"How many records per page","type":"integer"}}}}}}
```

## The AssignmentSessionsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AssignmentSessionsResponse":{"required":["page","page_size","total_count","api_error_entity"],"type":"object","properties":{"sessions":{"type":"array","items":{"$ref":"#/components/schemas/AssignmentSession"}},"page":{"format":"int32","description":"The one based index of the current page","type":"integer"},"page_size":{"format":"int32","description":"Requested page size","type":"integer"},"total_count":{"format":"int32","description":"Number of records across ALL pages","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"AssignmentSession":{"type":"object","properties":{"assignment_id":{"format":"uuid","type":"string"},"user_id":{"format":"uuid","type":"string"},"enrollment_id":{"format":"uuid","type":"string"},"organization_id":{"format":"uuid","type":"string"},"section_id":{"format":"uuid","type":"string"},"order":{"format":"int64","type":"integer"},"utc_start":{"format":"date-time","type":"string"},"utc_end":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The AssignmentSession object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AssignmentSession":{"type":"object","properties":{"assignment_id":{"format":"uuid","type":"string"},"user_id":{"format":"uuid","type":"string"},"enrollment_id":{"format":"uuid","type":"string"},"organization_id":{"format":"uuid","type":"string"},"section_id":{"format":"uuid","type":"string"},"order":{"format":"int64","type":"integer"},"utc_start":{"format":"date-time","type":"string"},"utc_end":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"}}}}}}
```

## The TrainingPlanResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"TrainingPlanResponse":{"title":"TrainingPlanResponse","description":"Contains relevant training plan information","default":{"org_id":"12345678-1234-5678-9abc-123456789abc","name":"Sample name","root_requirement_id":"12345678-1234-5678-9abc-123456789abc","id":"12345678-1234-5678-9abc-123456789abc","syllabus_id":"12345678-1234-5678-9abc-123456789abc","title":"Sample title","unique_name":"Sample name","utc_date_created":"2015-12-25T19:25:24.731+00:00","utc_date_last_modified":"2015-12-25T19:25:24.731+00:00","hidden":false,"disable_certificates_for_student":false,"allow_drops":false,"auto_enroll_new_members":false,"enrollment_duration":3,"enrollment_start":"2015-12-25T19:25:24.731+00:00","enrollment_end":"2015-12-25T19:25:24.731+00:00","final_drop_date":"2015-12-25T19:25:24.731+00:00","training_start":"2015-12-25T19:25:24.731+00:00","training_end":"2015-12-25T19:25:24.731+00:00","disable_manual_enrollment":false,"credit_hours":5,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["syllabus_id","title","enrollment_duration","enrollment_start","enrollment_end","final_drop_date","training_end","api_error_entity"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the organization this training plan belongs to","type":"string"},"name":{"description":"Name of the Training Plan","type":"string"},"root_requirement_id":{"format":"uuid","description":"Id of the root requirement for this training plan","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus","type":"string"},"title":{"description":"Title for this syllabus","type":"string"},"unique_name":{"description":"UniqueName is meant to be a simple way to map a user defined identifier to\r\nto specific a syllabus without the risk of duplicates. The advantage over using\r\nthe Id is that it can be moved from one syllabus to another.","type":"string"},"utc_date_created":{"format":"date-time","description":"When this syllabus was created","type":"string"},"utc_date_last_modified":{"format":"date-time","description":"When this syllabus was last modified","type":"string"},"hidden":{"description":"Does the section show up on the enrollment list?","type":"boolean"},"disable_certificates_for_student":{"description":"Can the student print their own certificate","type":"boolean"},"allow_drops":{"description":"Are students allowed to drop the section on their own?","type":"boolean"},"auto_enroll_new_members":{"description":"Should groups auto-enroll new members into this section?","type":"boolean"},"end_after_period_from_enrollment_start":{"description":"Use EnrollmentDuration in calculating course end date","type":"boolean"},"enrollment_duration":{"format":"int32","description":"Duration of enrollment from enrollmentDate","type":"integer"},"enrollment_start":{"format":"date-time","description":"The first day that the student can be enrolled into this section","type":"string"},"enrollment_end":{"format":"date-time","description":"The last day that the student can be enrolled into this section","type":"string"},"final_drop_date":{"format":"date-time","description":"The last day that the student can drop this section","type":"string"},"training_start":{"format":"date-time","description":"When the section opens for launching.","type":"string"},"training_end":{"format":"date-time","description":"When the section closes.","type":"string"},"disable_manual_enrollment":{"description":"This controls whether or not the student can enroll themselves from the catalog view.\r\nAdministrators should still be able to enroll a student AND the student should still be able to purchase in the Marketplace if it's available for enrollment\r\nDon't use this in the model.","type":"boolean"},"credit_hours":{"format":"","description":"How many credit hours this syllabus is worth.","type":"number"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The AssignmentResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AssignmentResponse":{"title":"AssignmentResponse","description":"Contains details of an assignment","default":{"id":"12345678-1234-5678-9abc-123456789abc","assignment_id":"12345678-1234-5678-9abc-123456789abc","title":"Sample title","pacing_duration_hours":3,"weight":13.5,"due_date_deduction":10,"due_date_strategy":1,"utc_due_date":"2015-12-25T19:25:24.731+00:00","utc_start_date":"2015-12-25T19:25:24.731+00:00","lock_out_hours":5,"utc_date_modified":"2015-12-25T19:25:24.731+00:00","utc_date_added":"2015-12-25T19:25:24.731+00:00","grading_strategy":0,"max_score":100,"mastery_score":70,"display_order":4,"assignment_type":"Test Assignment","attempt_limit":3,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["assignment_id","title","pacing_duration_hours","weight","due_date_deduction","utc_due_date","utc_start_date","lock_out_hours","max_score","mastery_score","assignment_type","api_error_entity"],"type":"object","properties":{"assignment_id":{"format":"uuid","description":"Id of the assignment","type":"string"},"title":{"description":"Corresponds to Caption/Title/Topic field in Assignment.\r\nGets the raw VTL template for this field.","type":"string"},"pacing_duration_hours":{"format":"int32","description":"The amount of time a student is credited for completing this assignment towards their calculated pace.\r\nThis does not represent the amount of time that a student spends in an assignments such as session time BUT it rather respresents the amount of total calendar \r\ntime given to the student to complete an assignment.","type":"integer"},"weight":{"format":"double","description":"Determines how much this assignment affects the student's grade","type":"number"},"due_date_deduction":{"format":"int32","description":"How many points are deducted for turning the assignment in late","type":"integer"},"due_date_strategy":{"format":"int32","description":"How a late assignment is handled.\r\nFailAfterDueDate=0;\r\nApplyPenalty=1;\r\nTakeNoAction=2;0 = Fail After Due Date, 1 = Apply Penalty, 2 = Take No Action","enum":[0,1,2],"type":"integer"},"utc_due_date":{"format":"date-time","description":"When the assignment is due","type":"string"},"utc_start_date":{"format":"date-time","description":"When the assignment becomes available","type":"string"},"lock_out_hours":{"format":"int32","description":"The number of hours that must pass since the enrollment date before this assignment is available.","type":"integer"},"utc_date_modified":{"format":"date-time","description":"When the assignment was last modified","type":"string"},"utc_date_added":{"format":"date-time","description":"When this assignment was added","type":"string"},"grading_strategy":{"format":"int32","description":"ManuallyGraded=0;\r\nInternal=2;\r\nNoGrade=3;0 = ManuallyGradedAssignmentType, 2 = InternallyGradedAssignmentType, 3 = NoGradeAssignmentType","enum":[0,2,3],"type":"integer"},"max_score":{"format":"double","description":"The highest attainable score for this assignment","type":"number"},"mastery_score":{"format":"double","description":"The minimum score required to attain mastery of an assignment","type":"number"},"display_order":{"format":"int64","description":"Used for sorting","type":"integer"},"assignment_type":{"description":"The type of assignment. Can be any of the following:\r\nCourseware Assignment;\r\nDiscussion Assignment;\r\nMedia Assignment;\r\nQuality Assurance Assignment;\r\nSwappable Assignment;\r\nTest Assignment;\r\nSurvey Assignment;\r\nWriting Assignment;\r\nStudent Input Assignment;","type":"string"},"attempt_limit":{"format":"int32","description":"For test assignments, how many atttempts a student is allowed before they are no longer able to take the test","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetAssignmentInstructionsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetAssignmentInstructionsResponse":{"title":"GetAssignmentInstructionsResponse","description":"Contains instructions for an assignment","default":{"assignment_instructions":"Sample instructions","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["assignment_instructions","api_error_entity"],"type":"object","properties":{"assignment_instructions":{"description":"Instructions for an assignment","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CatalogRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CatalogRequest":{"description":"Contains information for retrieving catalog data","required":["group_id"],"type":"object","properties":{"group_id":{"format":"uuid","description":"Id of group or organization","type":"string"},"publishing_model":{"format":"int32","description":"The publishing model for the catalogs. Will grab all by default if not specified.\r\nAvailableToMembers=0;\r\nForSaleInMarketPlace=1;\r\nHidden=2;0 = AvailableToMembers, 1 = ForSaleInMarketPlace, 2 = Hidden","enum":[0,1,2],"type":"integer"},"catalog_access_option":{"format":"int32","description":"The accessing option for listing the catalogs. Default to shared catalogs if not specified.\r\nShared=0;\r\nOwned=1;\r\nBoth=2;0 = Shared, 1 = Owned, 2 = Both","enum":[0,1,2],"type":"integer"}}}}}}
```

## The CatalogResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CatalogResponse":{"description":"Contains list of catalog response items.","required":["catalogs","api_error_entity"],"type":"object","properties":{"catalogs":{"description":"List of catalog response items matching search criteria","type":"array","items":{"$ref":"#/components/schemas/CatalogResponseItem"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"CatalogResponseItem":{"title":"CatalogResponseItem","description":"Exposes the public fields of a Nexport catalog for use with the\r\nweb api","default":{"org_id":"12345678-1234-5678-9abc-123456789abc","org_name":"Test Organization","org_short_name":"testorg","id":"12345678-1234-5678-9abc-123456789abc","catalog_id":"12345678-1234-5678-9abc-123456789abc","is_enabled":true,"name":"Sample name","date_created":"2015-12-25T19:25:24.731+00:00","owner_id":"12345678-1234-5678-9abc-123456789abc","owner_name":"fname lname","modified_by_id":"12345678-1234-5678-9abc-123456789abc","last_modified":"2015-12-25T19:25:24.731+00:00","pricing_model":1,"access_time_limit":"1.02:30:45","publishing_model":1},"required":["org_id","org_name","org_short_name","catalog_id","name"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the organization that this catalog belongs to","type":"string"},"org_name":{"description":"Name of the organization that this catalog belongs to","type":"string"},"org_short_name":{"description":"Short name of the organization that this catalog belongs to","type":"string"},"catalog_id":{"format":"uuid","description":"Id of the catalog","type":"string"},"is_enabled":{"description":"Whether the catalog is enabled or disabled","type":"boolean"},"name":{"description":"Name of the catalog","type":"string"},"date_created":{"format":"date-time","description":"When the catalog was created","type":"string"},"owner_id":{"format":"uuid","description":"Id of the user that owns this catalog","type":"string"},"owner_name":{"description":"Name of the user that owns this catalog","type":"string"},"modified_by_id":{"format":"uuid","description":"Id of the user that modified this catalog","type":"string"},"last_modified":{"format":"date-time","description":"When the catalog was last modified","type":"string"},"pricing_model":{"format":"int32","description":"The entire catalog uses a single PricingModel.\r\nThis property determines HOW prices are set for items in the catalog.\r\nNone=0;\r\nPerHourPrice=1;\r\nPerItemPrice=2;0 = None, 1 = PerHour, 2 = PerItem","enum":[0,1,2],"type":"integer"},"access_time_limit":{"description":"This property applies to users that have purchased the catalog. This is the timespan that the student has after redeeming this catalog\r\nto have access to it. The time starts when the catalog is redeemed and the catalog is available until this amount of time has passed.","type":"string"},"publishing_model":{"format":"int32","description":"This property controls how this catalog is made available to users.\r\nAvailableToMembers=0;\r\nForSaleInMarketPlace=1;\r\nHidden=2;0 = AvailableToMembers, 1 = ForSaleInMarketPlace, 2 = Hidden","enum":[0,1,2],"type":"integer"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CatalogResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CatalogResponseItem":{"title":"CatalogResponseItem","description":"Exposes the public fields of a Nexport catalog for use with the\r\nweb api","default":{"org_id":"12345678-1234-5678-9abc-123456789abc","org_name":"Test Organization","org_short_name":"testorg","id":"12345678-1234-5678-9abc-123456789abc","catalog_id":"12345678-1234-5678-9abc-123456789abc","is_enabled":true,"name":"Sample name","date_created":"2015-12-25T19:25:24.731+00:00","owner_id":"12345678-1234-5678-9abc-123456789abc","owner_name":"fname lname","modified_by_id":"12345678-1234-5678-9abc-123456789abc","last_modified":"2015-12-25T19:25:24.731+00:00","pricing_model":1,"access_time_limit":"1.02:30:45","publishing_model":1},"required":["org_id","org_name","org_short_name","catalog_id","name"],"type":"object","properties":{"org_id":{"format":"uuid","description":"Id of the organization that this catalog belongs to","type":"string"},"org_name":{"description":"Name of the organization that this catalog belongs to","type":"string"},"org_short_name":{"description":"Short name of the organization that this catalog belongs to","type":"string"},"catalog_id":{"format":"uuid","description":"Id of the catalog","type":"string"},"is_enabled":{"description":"Whether the catalog is enabled or disabled","type":"boolean"},"name":{"description":"Name of the catalog","type":"string"},"date_created":{"format":"date-time","description":"When the catalog was created","type":"string"},"owner_id":{"format":"uuid","description":"Id of the user that owns this catalog","type":"string"},"owner_name":{"description":"Name of the user that owns this catalog","type":"string"},"modified_by_id":{"format":"uuid","description":"Id of the user that modified this catalog","type":"string"},"last_modified":{"format":"date-time","description":"When the catalog was last modified","type":"string"},"pricing_model":{"format":"int32","description":"The entire catalog uses a single PricingModel.\r\nThis property determines HOW prices are set for items in the catalog.\r\nNone=0;\r\nPerHourPrice=1;\r\nPerItemPrice=2;0 = None, 1 = PerHour, 2 = PerItem","enum":[0,1,2],"type":"integer"},"access_time_limit":{"description":"This property applies to users that have purchased the catalog. This is the timespan that the student has after redeeming this catalog\r\nto have access to it. The time starts when the catalog is redeemed and the catalog is available until this amount of time has passed.","type":"string"},"publishing_model":{"format":"int32","description":"This property controls how this catalog is made available to users.\r\nAvailableToMembers=0;\r\nForSaleInMarketPlace=1;\r\nHidden=2;0 = AvailableToMembers, 1 = ForSaleInMarketPlace, 2 = Hidden","enum":[0,1,2],"type":"integer"}}}}}}
```

## The GetCatalogCreditHoursResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCatalogCreditHoursResponse":{"title":"GetCatalogCreditHoursResponse","description":"Contains the total credit hours of the catalog","default":{"credit_hours":10,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["credit_hours","api_error_entity"],"type":"object","properties":{"credit_hours":{"format":"","description":"Total credit hours based on the credit hours of sections and training plan in the catalog","type":"number"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CategoryResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CategoryResponseItem":{"title":"CategoryResponseItem","description":"Exposes the public members of the Nexport category for use with the\r\nweb api","default":{"id":"12345678-1234-5678-9abc-123456789abc","category_id":"12345678-1234-5678-9abc-123456789abc","name":"Sample name","catalog_id":"12345678-1234-5678-9abc-123456789abc","org_id":"12345678-1234-5678-9abc-123456789abc","parent_category_id":"12345678-1234-5678-9abc-123456789abc","date_created":"2015-12-25T19:25:24.731+00:00"},"required":["category_id","name","catalog_id","org_id","parent_category_id"],"type":"object","properties":{"category_id":{"format":"uuid","description":"Id of the category","type":"string"},"name":{"description":"The name of the Category","type":"string"},"catalog_id":{"format":"uuid","description":"Id of the catalog in which the category belongs to","type":"string"},"org_id":{"format":"uuid","description":"Id of the organization in which the category belongs to","type":"string"},"parent_category_id":{"format":"uuid","description":"Id of the category's parent category","type":"string"},"date_created":{"format":"date-time","description":"When this category was created","type":"string"}}}}}}
```

## The GetSyllabiResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetSyllabiResponseItem":{"title":"GetSyllabiResponseItem","description":"Item for a list of syllabi. Contains syllabus name, type, and product id","default":{"id":"12345678-1234-5678-9abc-123456789abc","syllabus_id":"12345678-1234-5678-9abc-123456789abc","syllabus_name":"Sample name","syllabus_type":0,"product_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["syllabus_id","syllabus_type","api_error_entity"],"type":"object","properties":{"syllabus_id":{"format":"uuid","description":"Id of the syllabus","type":"string"},"syllabus_name":{"description":"Name of the syllabus","type":"string"},"syllabus_type":{"format":"int32","description":"Section=0;\r\nTrainingPlan=1;\r\nUnknown=-1;0 = Section, 1 = Training Plan, -1 = Unknown","enum":[0,1,-1],"type":"integer"},"product_id":{"format":"uuid","description":"Product ID is derived from the catalog. The Product ID is used when adding an item to an invoice.","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetCmiDataRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCmiDataRequest":{"description":"Contains information for filtering which SCORM CMI data to retrieve","required":["enrollment_id","assignment_id","cmi_element_names"],"type":"object","properties":{"enrollment_id":{"format":"uuid","description":"Id of the enrollment to get SCORM data for","type":"string"},"assignment_id":{"format":"uuid","description":"Id of the assignment to get SCORM data for","type":"string"},"cmi_element_names":{"description":"List of CMI element names to get data for","type":"array","items":{"type":"string"}}}}}}}
```

## The GetCmiDataResponseItem object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetCmiDataResponseItem":{"title":"GetCmiDataResponseItem","description":"Contains list of CMI fields/values as well as start and end date for the attempt, the title, and the sco id","default":{"title":"Sample title","sco_id":"I_SCO0","start_date_utc":"2015-12-25T19:25:24.731+00:00","exit_date_utc":"2015-12-25T19:25:24.731+00:00","cmi_fields":[{"cmi_element_name":"cmi.core.lesson_status","cmi_element_value":"incomplete"},{"cmi_element_name":"cmi.core.exit"},{"cmi_element_name":"cmi.core.invalid_name","cmi_element_value":"","error_message":"401 - Not Implemented Error"}],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["title","sco_id","cmi_fields","api_error_entity"],"type":"object","properties":{"title":{"description":"Title for the SCO","type":"string"},"sco_id":{"description":"ID for the SCO","type":"string"},"start_date_utc":{"format":"date-time","description":"When the student started this SCO","type":"string"},"exit_date_utc":{"format":"date-time","description":"When the student exited this SCO","type":"string"},"cmi_fields":{"description":"List of objects containing field name, field value, and error code if applicable","type":"array","items":{"$ref":"#/components/schemas/CmiField"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"CmiField":{"description":"Represents a SCO CMI field and the value, as well as error information if applicable","required":["cmi_element_name"],"type":"object","properties":{"cmi_element_name":{"description":"Name of the CMI Element","type":"string"},"cmi_element_value":{"description":"Value of the CMI Element. Empty string in the case of an error.\r\nValue will be excluded if it is null.","type":"string"},"error_message":{"description":"If an error occurred processing this element, then a message will be added.\r\nNull if no error occurred.","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CmiField object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CmiField":{"description":"Represents a SCO CMI field and the value, as well as error information if applicable","required":["cmi_element_name"],"type":"object","properties":{"cmi_element_name":{"description":"Name of the CMI Element","type":"string"},"cmi_element_value":{"description":"Value of the CMI Element. Empty string in the case of an error.\r\nValue will be excluded if it is null.","type":"string"},"error_message":{"description":"If an error occurred processing this element, then a message will be added.\r\nNull if no error occurred.","type":"string"}}}}}}
```

## The CreateInvoiceMessageRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateInvoiceMessageRequest":{"description":"Contains fields for creating an invoice","required":["purchasing_agent_id"],"type":"object","properties":{"purchasing_agent_id":{"format":"uuid","description":"Id of the purchasing agent for the invoice. This must be a user id.","type":"string"},"organization_id":{"format":"uuid","description":"Id of the organization that the invoice belongs to. Usually this is the Organization that made the sale.","type":"string"},"purchasing_group_id":{"format":"uuid","description":"Id of the organization or group that is purchasing this wholesale. This must be the ID of a Group or Organization within your NexPort directory.","type":"string"},"note":{"description":"Optional note for the invoice","type":"string"}}}}}}
```

## The BeginInvoiceTransactionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"BeginInvoiceTransactionResponse":{"title":"BeginInvoiceTransactionResponse","description":"Contains the id of the created invoice","default":{"invoice_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["invoice_id","api_error_entity"],"type":"object","properties":{"invoice_id":{"format":"uuid","description":"Id of the created invoice","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetInvoiceResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetInvoiceResponse":{"title":"GetInvoiceResponse","description":"Represents an invoice that was created within nexport.","default":{"id":"12345678-1234-5678-9abc-123456789abc","purchasing_agent":"12345678-1234-5678-9abc-123456789abc","sales_agent":"12345678-1234-5678-9abc-123456789abc","state":0,"invoice_items":[],"utc_creation_date":"0001-01-01T00:00:00","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["id","purchasing_agent","sales_agent","state","invoice_items","utc_creation_date","api_error_entity"],"type":"object","properties":{"id":{"format":"uuid","type":"string"},"purchasing_agent":{"format":"uuid","description":"User ID of the user that is purchasing the items on this invoice","type":"string"},"sales_agent":{"format":"uuid","description":"User Id of the user that is selling the items","type":"string"},"state":{"format":"int32","description":"The transaction state:\r\n<para>0=Open (Not Commited)</para><para>1=Commited</para><para>-1=Failed</para>0 = Opened, 1 = Committed, -1 = Failed","enum":[0,1,-1],"type":"integer"},"invoice_items":{"description":"List of invoice items added to this invoice","type":"array","items":{"$ref":"#/components/schemas/InvoiceItemResponse"}},"utc_creation_date":{"format":"date-time","type":"string"},"utc_date_committed":{"format":"date-time","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"InvoiceItemResponse":{"description":"Details about the invoice item on the invoice","required":["id","product_id","purchasing_group_id","product_type"],"type":"object","properties":{"id":{"format":"uuid","description":"ID of the associated Invoice Item","type":"string"},"product_id":{"format":"uuid","description":"Product ID from the NexPort Catalog","type":"string"},"purchasing_group_id":{"format":"uuid","description":"ID of the Group or Organization that owns this invoice item","type":"string"},"product_type":{"format":"int32","description":"0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"funding_pool":{"type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Redemption available date for the invoice item","type":"string"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The InvoiceItemResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"InvoiceItemResponse":{"description":"Details about the invoice item on the invoice","required":["id","product_id","purchasing_group_id","product_type"],"type":"object","properties":{"id":{"format":"uuid","description":"ID of the associated Invoice Item","type":"string"},"product_id":{"format":"uuid","description":"Product ID from the NexPort Catalog","type":"string"},"purchasing_group_id":{"format":"uuid","description":"ID of the Group or Organization that owns this invoice item","type":"string"},"product_type":{"format":"int32","description":"0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"funding_pool":{"type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Redemption available date for the invoice item","type":"string"}}}}}}
```

## The ApiNotFoundResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ApiNotFoundResponse":{"description":"Used to describea not found type","required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The GetInvoiceItemResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"GetInvoiceItemResponse":{"description":"Response to the GetInvoiceItem API Call","required":["invoice_item","invoice_item_redemption","api_error_entity"],"type":"object","properties":{"invoice_item":{"$ref":"#/components/schemas/InvoiceItemResponse","description":"The requested invoice item"},"invoice_item_redemption":{"$ref":"#/components/schemas/InvoiceRedemptionResponse","description":"The requested invoice item redemption"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"InvoiceItemResponse":{"description":"Details about the invoice item on the invoice","required":["id","product_id","purchasing_group_id","product_type"],"type":"object","properties":{"id":{"format":"uuid","description":"ID of the associated Invoice Item","type":"string"},"product_id":{"format":"uuid","description":"Product ID from the NexPort Catalog","type":"string"},"purchasing_group_id":{"format":"uuid","description":"ID of the Group or Organization that owns this invoice item","type":"string"},"product_type":{"format":"int32","description":"0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"funding_pool":{"type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Redemption available date for the invoice item","type":"string"}}},"InvoiceRedemptionResponse":{"title":"InvoiceRedemptionResponse","description":"Invoice redemption information","default":{"id":"12345678-1234-5678-9abc-123456789abc","redemption_id":"12345678-1234-5678-9abc-123456789abc","invoice_item_id":"12345678-1234-5678-9abc-123456789abc","invoice_id":"12345678-1234-5678-9abc-123456789abc","redemption_type":0,"redemption_enrollment_id":"12345678-1234-5678-9abc-123456789abc","utc_redemption_date":"2015-12-25T19:25:24.731+00:00","utc_expiration_date":"2015-12-25T19:25:24.731+00:00","redemption_user_id":"12345678-1234-5678-9abc-123456789abc","redemption_user_last_name":"lname","redemption_user_first_name":"fname","redemption_user_login":"foo_login","redemption_user_email":"email@test.com","redemption_code":"ark-abcd1234","organization_id":"12345678-1234-5678-9abc-123456789abc","organization_name":"Test Organization","organization_short_name":"testorg","catalog_id":"12345678-1234-5678-9abc-123456789abc","catalog_name":"Sample name","catalog_description":"Sample description","catalog_pricing_model":2,"catalog_access_time_limit":"1.02:30:45","utc_catalog_creation_date":"2015-12-25T19:25:24.731+00:00","utc_catalog_modified_date":"2015-12-25T19:25:24.731+00:00","syllabus_id":"12345678-1234-5678-9abc-123456789abc","syllabus_title":"Sample title","syllabus_unique_name":"Sample name","syllabus_description":"Sample description","syllabus_certificate_id":"12345678-1234-5678-9abc-123456789abc","syllabus_credit_hours":3,"syllabus_section_number":"SN 101","syllabus_section_ceus":".2 CEUs","syllabus_section_duration":"2 hours","syllabus_section_objectives":"Sample objectives","utc_syllabus_creation_date":"2015-12-25T19:25:24.731+00:00","utc_syllabus_modified_date":"2015-12-25T19:25:24.731+00:00","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["redemption_id","invoice_item_id","invoice_id","organization_id","organization_name","organization_short_name","api_error_entity"],"type":"object","properties":{"redemption_id":{"format":"uuid","description":"Id of the invoice redemption","type":"string"},"invoice_item_id":{"format":"uuid","description":"Id of the invoice item this redemption corresponds to","type":"string"},"invoice_id":{"format":"uuid","description":"Id of the invoice this redemption corresponds to","type":"string"},"redemption_type":{"format":"int32","description":"Section=0;\r\nTrainingPlan=1;\r\nCatalog=2;\r\nUnknown=-1;0 = Section, 1 = TrainingPlan, 2 = Catalog, -1 = Unknown","enum":[0,1,2,-1],"type":"integer"},"redemption_enrollment_id":{"format":"uuid","description":"Id of the enrollment this redemption corresponds to","type":"string"},"utc_redemption_date":{"format":"date-time","description":"When this invoice redemption was redeemed","type":"string"},"utc_expiration_date":{"format":"date-time","description":"When this invoice redemption expires","type":"string"},"redemption_user_id":{"format":"uuid","description":"The id of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_last_name":{"description":"The last name of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_first_name":{"description":"The first name of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_login":{"description":"The login of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_email":{"description":"The email address of the user that has redeemed this invoice redemption","type":"string"},"redemption_code":{"description":"The redemption code corresponding to this redemption","type":"string"},"organization_id":{"format":"uuid","description":"Id of the organization this redemption belongs to","type":"string"},"organization_name":{"description":"Name of the organization this redemption belongs to","type":"string"},"organization_short_name":{"description":"Short name of the organization this redemption belongs to","type":"string"},"catalog_id":{"format":"uuid","description":"Id of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_name":{"description":"Name of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_description":{"description":"Description of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_pricing_model":{"format":"int32","description":"Pricing model of the catalog that the redemption belongs to\r\nNone=0;\r\nPerHourPrice=1;\r\nPerItemPrice=2;0 = None, 1 = PerHour, 2 = PerItem","enum":[0,1,2],"type":"integer"},"catalog_access_time_limit":{"description":"How long the catalog is available","type":"string"},"utc_catalog_creation_date":{"format":"date-time","description":"When the catalog was created","type":"string"},"utc_catalog_modified_date":{"format":"date-time","description":"When the catalog was last modified","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus that this redemption belongs to","type":"string"},"syllabus_title":{"description":"Title of the syllabus this redemption belongs to","type":"string"},"syllabus_unique_name":{"description":"Unique name of the syllabus this redemption belongs to","type":"string"},"syllabus_description":{"description":"Description of the syllabus this redemption belongs to","type":"string"},"syllabus_certificate_id":{"format":"uuid","description":"Id of the syllabus certificate","type":"string"},"syllabus_disable_certificates_for_student":{"description":"Whether or not syllabus certificates are disabled for the student","type":"boolean"},"syllabus_credit_hours":{"format":"","description":"Number of credit hours the syllabus is worth","type":"number"},"syllabus_section_number":{"description":"Section number of the syllabus this redemption belongs to","type":"string"},"syllabus_section_ceus":{"description":"Section CEUs of the syllabus this redemption belongs to","type":"string"},"syllabus_section_duration":{"description":"Section duration of the syllabus this redemption belongs to","type":"string"},"syllabus_section_objectives":{"description":"Section objectives of the syllabus this redemption belongs to","type":"string"},"utc_syllabus_creation_date":{"format":"date-time","description":"When the syllabus was created","type":"string"},"utc_syllabus_modified_date":{"format":"date-time","description":"When the syllabus was last modified","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The InvoiceRedemptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"InvoiceRedemptionResponse":{"title":"InvoiceRedemptionResponse","description":"Invoice redemption information","default":{"id":"12345678-1234-5678-9abc-123456789abc","redemption_id":"12345678-1234-5678-9abc-123456789abc","invoice_item_id":"12345678-1234-5678-9abc-123456789abc","invoice_id":"12345678-1234-5678-9abc-123456789abc","redemption_type":0,"redemption_enrollment_id":"12345678-1234-5678-9abc-123456789abc","utc_redemption_date":"2015-12-25T19:25:24.731+00:00","utc_expiration_date":"2015-12-25T19:25:24.731+00:00","redemption_user_id":"12345678-1234-5678-9abc-123456789abc","redemption_user_last_name":"lname","redemption_user_first_name":"fname","redemption_user_login":"foo_login","redemption_user_email":"email@test.com","redemption_code":"ark-abcd1234","organization_id":"12345678-1234-5678-9abc-123456789abc","organization_name":"Test Organization","organization_short_name":"testorg","catalog_id":"12345678-1234-5678-9abc-123456789abc","catalog_name":"Sample name","catalog_description":"Sample description","catalog_pricing_model":2,"catalog_access_time_limit":"1.02:30:45","utc_catalog_creation_date":"2015-12-25T19:25:24.731+00:00","utc_catalog_modified_date":"2015-12-25T19:25:24.731+00:00","syllabus_id":"12345678-1234-5678-9abc-123456789abc","syllabus_title":"Sample title","syllabus_unique_name":"Sample name","syllabus_description":"Sample description","syllabus_certificate_id":"12345678-1234-5678-9abc-123456789abc","syllabus_credit_hours":3,"syllabus_section_number":"SN 101","syllabus_section_ceus":".2 CEUs","syllabus_section_duration":"2 hours","syllabus_section_objectives":"Sample objectives","utc_syllabus_creation_date":"2015-12-25T19:25:24.731+00:00","utc_syllabus_modified_date":"2015-12-25T19:25:24.731+00:00","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["redemption_id","invoice_item_id","invoice_id","organization_id","organization_name","organization_short_name","api_error_entity"],"type":"object","properties":{"redemption_id":{"format":"uuid","description":"Id of the invoice redemption","type":"string"},"invoice_item_id":{"format":"uuid","description":"Id of the invoice item this redemption corresponds to","type":"string"},"invoice_id":{"format":"uuid","description":"Id of the invoice this redemption corresponds to","type":"string"},"redemption_type":{"format":"int32","description":"Section=0;\r\nTrainingPlan=1;\r\nCatalog=2;\r\nUnknown=-1;0 = Section, 1 = TrainingPlan, 2 = Catalog, -1 = Unknown","enum":[0,1,2,-1],"type":"integer"},"redemption_enrollment_id":{"format":"uuid","description":"Id of the enrollment this redemption corresponds to","type":"string"},"utc_redemption_date":{"format":"date-time","description":"When this invoice redemption was redeemed","type":"string"},"utc_expiration_date":{"format":"date-time","description":"When this invoice redemption expires","type":"string"},"redemption_user_id":{"format":"uuid","description":"The id of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_last_name":{"description":"The last name of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_first_name":{"description":"The first name of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_login":{"description":"The login of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_email":{"description":"The email address of the user that has redeemed this invoice redemption","type":"string"},"redemption_code":{"description":"The redemption code corresponding to this redemption","type":"string"},"organization_id":{"format":"uuid","description":"Id of the organization this redemption belongs to","type":"string"},"organization_name":{"description":"Name of the organization this redemption belongs to","type":"string"},"organization_short_name":{"description":"Short name of the organization this redemption belongs to","type":"string"},"catalog_id":{"format":"uuid","description":"Id of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_name":{"description":"Name of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_description":{"description":"Description of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_pricing_model":{"format":"int32","description":"Pricing model of the catalog that the redemption belongs to\r\nNone=0;\r\nPerHourPrice=1;\r\nPerItemPrice=2;0 = None, 1 = PerHour, 2 = PerItem","enum":[0,1,2],"type":"integer"},"catalog_access_time_limit":{"description":"How long the catalog is available","type":"string"},"utc_catalog_creation_date":{"format":"date-time","description":"When the catalog was created","type":"string"},"utc_catalog_modified_date":{"format":"date-time","description":"When the catalog was last modified","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus that this redemption belongs to","type":"string"},"syllabus_title":{"description":"Title of the syllabus this redemption belongs to","type":"string"},"syllabus_unique_name":{"description":"Unique name of the syllabus this redemption belongs to","type":"string"},"syllabus_description":{"description":"Description of the syllabus this redemption belongs to","type":"string"},"syllabus_certificate_id":{"format":"uuid","description":"Id of the syllabus certificate","type":"string"},"syllabus_disable_certificates_for_student":{"description":"Whether or not syllabus certificates are disabled for the student","type":"boolean"},"syllabus_credit_hours":{"format":"","description":"Number of credit hours the syllabus is worth","type":"number"},"syllabus_section_number":{"description":"Section number of the syllabus this redemption belongs to","type":"string"},"syllabus_section_ceus":{"description":"Section CEUs of the syllabus this redemption belongs to","type":"string"},"syllabus_section_duration":{"description":"Section duration of the syllabus this redemption belongs to","type":"string"},"syllabus_section_objectives":{"description":"Section objectives of the syllabus this redemption belongs to","type":"string"},"utc_syllabus_creation_date":{"format":"date-time","description":"When the syllabus was created","type":"string"},"utc_syllabus_modified_date":{"format":"date-time","description":"When the syllabus was last modified","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateInvoiceItemRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateInvoiceItemRequest":{"description":"Contains fields for creating an invoice item","required":["invoice_id","product_id"],"type":"object","properties":{"invoice_id":{"format":"uuid","description":"Id of the invoice to create an invoice item for","type":"string"},"product_id":{"format":"uuid","description":"ProductId from GetCatalog/CategorySyllabi","type":"string"},"product_type":{"format":"int32","description":"Default is Syllabus.\r\nSyllabus=0;\r\nCatalog=1;\r\nShippingAndHandling=2;\r\nTaxes=3;\r\nOther=4;\r\nOpenEnded=5;0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"cost":{"format":"","description":"Cost in USD","type":"number"},"note":{"description":"Invoice item note","type":"string"},"utc_access_expiration_date":{"format":"date-time","description":"Can be used to set the redemption expiration date once a redemption is created for this invoice item.\r\nRedemption expiration will be set based on UtcAccessExpirationDate first if it is set.","type":"string"},"access_expiration_time_limit":{"description":"Can be used to calculate the redemption expiration date once a redemption is created for this invoice item.\r\nRedemption will be set based on AccessExpirationTimeLimit if UtcAccessExpirationDate is not set.\r\nRedemption expiration date will be set to redemption date + AccessExpirationTimeLimit.","type":"string"},"subscription_org_id":{"format":"uuid","description":"Can be used to create the subscription within the specified organization for the student when the invoice item is redeemed.\r\nEnrollment associated with this invoice item will also be created for the subscription.","type":"string"},"purchasing_group_id":{"format":"uuid","description":"Used in wholesale purchases to associate invoice items with specific groups or orgs. This means the item was sold to the specified purchasing group.\r\nIf no group is specified then the purchasing group from the invoice will be used.","type":"string"},"group_membership_ids":{"description":"Can be used to create the membership within the specified groups for the student when the invoice item is redeemed.","type":"array","items":{"format":"uuid","type":"string"}},"funding_pool":{"description":"Used for organizations to group purchased items and track those groupings.","type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Used to restrict when a redemption can be created for this invoice item,\r\ni.e. redemptions can't be created until after the specified date.","type":"string"}}}}}}
```

## The AddInvoiceItemResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AddInvoiceItemResponse":{"title":"AddInvoiceItemResponse","description":"Contains the id of the created invoice item","default":{"invoice_item_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["invoice_item_id","api_error_entity"],"type":"object","properties":{"invoice_item_id":{"format":"uuid","description":"Id of the created invoice item","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CreateInvoiceItemsRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CreateInvoiceItemsRequest":{"required":["invoice_id","product_id"],"type":"object","properties":{"quantity":{"format":"int32","description":"This is the number of invoice items to create with the same information.","type":"integer"},"invoice_id":{"format":"uuid","description":"Id of the invoice to create an invoice item for","type":"string"},"product_id":{"format":"uuid","description":"ProductId from GetCatalog/CategorySyllabi","type":"string"},"product_type":{"format":"int32","description":"Default is Syllabus.\r\nSyllabus=0;\r\nCatalog=1;\r\nShippingAndHandling=2;\r\nTaxes=3;\r\nOther=4;\r\nOpenEnded=5;0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"cost":{"format":"","description":"Cost in USD","type":"number"},"note":{"description":"Invoice item note","type":"string"},"utc_access_expiration_date":{"format":"date-time","description":"Can be used to set the redemption expiration date once a redemption is created for this invoice item.\r\nRedemption expiration will be set based on UtcAccessExpirationDate first if it is set.","type":"string"},"access_expiration_time_limit":{"description":"Can be used to calculate the redemption expiration date once a redemption is created for this invoice item.\r\nRedemption will be set based on AccessExpirationTimeLimit if UtcAccessExpirationDate is not set.\r\nRedemption expiration date will be set to redemption date + AccessExpirationTimeLimit.","type":"string"},"subscription_org_id":{"format":"uuid","description":"Can be used to create the subscription within the specified organization for the student when the invoice item is redeemed.\r\nEnrollment associated with this invoice item will also be created for the subscription.","type":"string"},"purchasing_group_id":{"format":"uuid","description":"Used in wholesale purchases to associate invoice items with specific groups or orgs. This means the item was sold to the specified purchasing group.\r\nIf no group is specified then the purchasing group from the invoice will be used.","type":"string"},"group_membership_ids":{"description":"Can be used to create the membership within the specified groups for the student when the invoice item is redeemed.","type":"array","items":{"format":"uuid","type":"string"}},"funding_pool":{"description":"Used for organizations to group purchased items and track those groupings.","type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Used to restrict when a redemption can be created for this invoice item,\r\ni.e. redemptions can't be created until after the specified date.","type":"string"}}}}}}
```

## The AddInvoiceItemsResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AddInvoiceItemsResponse":{"title":"AddInvoiceItemsResponse","default":{"invoice_item_ids":["12345678-1234-5678-9abc-123456789abc"],"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["invoice_item_ids","api_error_entity"],"type":"object","properties":{"invoice_item_ids":{"description":"Ids of the created invoice items","type":"array","items":{"format":"uuid","type":"string"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The InvoicePaymentRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"InvoicePaymentRequest":{"description":"Information for creating an invoice payment","required":["invoice_id","merchant_account_id","payee_id","payment_processor","payment_processor_transaction_id","amount_usd","utc_payment_date"],"type":"object","properties":{"invoice_id":{"format":"uuid","description":"Id of the invoice that the payment is for","type":"string"},"payment_collector_id":{"format":"uuid","description":"Id of the user collecting payment (not used in 5.2; CurrentUser is used instead)","type":"string"},"merchant_account_id":{"format":"uuid","description":"Id of the account that the payment goes to","type":"string"},"payee_id":{"format":"uuid","description":"Id of user that payment is being collected from","type":"string"},"payment_processor":{"format":"int32","description":"Cash=0;\r\nCheck=1;\r\nPayPal=2;\r\nNopCommercePlugin=3;\r\nDiscountOrCoupon=4;\r\nOther=1000;0 = Cash, 1 = Check, 2 = PayPal, 3 = NopCommercePlugin, 4 = DiscountOrCoupon, 1000 = Other","enum":[0,1,2,3,4,1000],"type":"integer"},"payment_processor_transaction_id":{"description":"Id to help track the transaction information for the payment processor","type":"string"},"amount_usd":{"format":"","description":"Amount being paid","type":"number"},"utc_payment_date":{"format":"date-time","description":"Date that the payment is made","type":"string"},"note":{"description":"Optional note for the invoice payment","type":"string"}}}}}}
```

## The AddInvoicePaymentResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AddInvoicePaymentResponse":{"title":"AddInvoicePaymentResponse","description":"Contains id of the created invoice payment","default":{"invoice_item_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["invoice_payment_id","api_error_entity"],"type":"object","properties":{"invoice_payment_id":{"format":"uuid","description":"Id of the created invoice payment","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The InvoiceScheduledPaymentRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"InvoiceScheduledPaymentRequest":{"description":"Information for creating an invoice scheduled payment","required":["invoice_id"],"type":"object","properties":{"invoice_id":{"format":"uuid","description":"Id of the invoice that the payment will be made to","type":"string"},"amount_usd":{"format":"","description":"Amount of the payment","type":"number"},"utc_due_date":{"format":"date-time","description":"When the payment is due","type":"string"},"note":{"description":"Optional note for the scheduled payment","type":"string"}}}}}}
```

## The AddInvoiceScheduledPaymentResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"AddInvoiceScheduledPaymentResponse":{"title":"AddInvoiceScheduledPaymentResponse","description":"Contains id of the created invoice scheduled payment","default":{"invoice_scheduled_payment_id":"12345678-1234-5678-9abc-123456789abc","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["invoice_scheduled_payment_id","api_error_entity"],"type":"object","properties":{"invoice_scheduled_payment_id":{"format":"uuid","description":"Id of the created invoice scheduled payment","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The CommitInvoiceRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CommitInvoiceRequest":{"description":"Contains information for committing an invoice and creating redemptions\r\nif necessary","required":["invoice_id"],"type":"object","properties":{"invoice_id":{"format":"uuid","description":"Id of the invoice to commit","type":"string"}}}}}}
```

## The CommitInvoiceResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"CommitInvoiceResponse":{"title":"CommitInvoiceResponse","description":"Contains invoice redemption codes created from the CommitInvoiceTransaction method","default":{"invoice_redemption_code":"ark-abcd1234","invoice_item_redemption_codes":{"12345678-1234-5678-9abc-123456789abc":"bat-abcd1234","1234abcd-1234-abcd-1234-123456abcdef":"cat-abcd1234"},"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"invoice_redemption_code":{"description":"A unique yet friendly Invoice Number that users can reference when speaking to Customer Support","type":"string"},"invoice_item_redemption_codes":{"description":"Contains ids of invoice items and their redemption codes","type":"object","additionalProperties":{"type":"string"}},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The UpdateInvoiceItemRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"UpdateInvoiceItemRequest":{"title":"UpdateInvoiceItemRequest","description":"Contains fields for redeeming an invoice item","default":{"invoice_item_id":"00000000-0000-0000-0000-000000000000","data":{"product_id":"1572636c-f018-4875-abdb-5bc6976b1e48","product_type":0,"cost_usd":100,"utc_access_expiration_date":"2026-06-04T01:56:26.2661447Z","access_expiration_time_limit":"10.00:00:00","note":"Updated invoice item","product_code":"452345235-sdf","is_renewal":true,"subscription_org_id":"a62f3521-04ac-42a8-a015-28dfb9d1fc95","group_memberships":["1b201790-1493-452f-a2b4-10660146424f"],"purchasing_group_id":"6f0b7e28-e751-4cc3-89c3-565f0b7ecbd1","funding_pool":"Accounting Funding Pool","utc_redemption_available_date":"2026-05-25T01:56:26.2661447Z"}},"type":"object","properties":{"invoice_item_id":{"format":"uuid","description":"Id of the invoice item to update","type":"string"},"data":{"$ref":"#/components/schemas/UpdatedInvoiceFields","description":"Fields to update"}}},"UpdatedInvoiceFields":{"description":"Represents the fields that can be updated for an invoice item.","type":"object","properties":{"product_id":{"format":"uuid","description":"Gets or sets the unique identifier of the product.","type":"string"},"product_type":{"format":"int32","description":"Gets or sets the type of the product.0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"cost_usd":{"format":"","description":"Gets or sets the cost of the product in USD.","type":"number"},"utc_access_expiration_date":{"format":"date-time","description":"Gets or sets the UTC expiration date for access to the product.","type":"string"},"access_expiration_time_limit":{"description":"Gets or sets the time limit for access expiration.","type":"string"},"note":{"description":"Concatenates this note to the invoice item","type":"string"},"product_code":{"description":"Gets or sets the product code.","type":"string"},"is_renewal":{"description":"Gets or sets a value indicating whether the product is a renewal.","type":"boolean"},"subscription_org_id":{"format":"uuid","description":"Gets or sets the unique identifier of the subscription organization.","type":"string"},"group_memberships":{"description":"REPLACES group memberships associated with the invoice item.\r\nTHIS WILL DELETE EXISTING MEMBERSHIP INSTRUCTIONS","type":"array","items":{"format":"uuid","type":"string"}},"purchasing_group_id":{"format":"uuid","description":"Gets or sets the unique identifier of the purchasing group.","type":"string"},"funding_pool":{"description":"Gets or sets the funding pool associated with the invoice item.","type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Gets or sets the UTC date when redemption becomes available.","type":"string"}}}}}}
```

## The UpdatedInvoiceFields object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"UpdatedInvoiceFields":{"description":"Represents the fields that can be updated for an invoice item.","type":"object","properties":{"product_id":{"format":"uuid","description":"Gets or sets the unique identifier of the product.","type":"string"},"product_type":{"format":"int32","description":"Gets or sets the type of the product.0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"cost_usd":{"format":"","description":"Gets or sets the cost of the product in USD.","type":"number"},"utc_access_expiration_date":{"format":"date-time","description":"Gets or sets the UTC expiration date for access to the product.","type":"string"},"access_expiration_time_limit":{"description":"Gets or sets the time limit for access expiration.","type":"string"},"note":{"description":"Concatenates this note to the invoice item","type":"string"},"product_code":{"description":"Gets or sets the product code.","type":"string"},"is_renewal":{"description":"Gets or sets a value indicating whether the product is a renewal.","type":"boolean"},"subscription_org_id":{"format":"uuid","description":"Gets or sets the unique identifier of the subscription organization.","type":"string"},"group_memberships":{"description":"REPLACES group memberships associated with the invoice item.\r\nTHIS WILL DELETE EXISTING MEMBERSHIP INSTRUCTIONS","type":"array","items":{"format":"uuid","type":"string"}},"purchasing_group_id":{"format":"uuid","description":"Gets or sets the unique identifier of the purchasing group.","type":"string"},"funding_pool":{"description":"Gets or sets the funding pool associated with the invoice item.","type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Gets or sets the UTC date when redemption becomes available.","type":"string"}}}}}}
```

## The UpdateInvoiceItemResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"UpdateInvoiceItemResponse":{"description":"Contains invoice redemption codes created from the CommitInvoiceTransaction method","required":["api_error_entity"],"type":"object","properties":{"invoice_item_id":{"format":"uuid","description":"Id of the invoice item updated","type":"string"},"invoice_id":{"format":"uuid","description":"Id of the associated invoice","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The RedeemInvoiceItemRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"RedeemInvoiceItemRequest":{"title":"RedeemInvoiceItemRequest","description":"Contains fields for redeeming an invoice item","default":{"invoice_item_id":"00000000-0000-0000-0000-000000000000","redemption_id":"00000000-0000-0000-0000-000000000000","invoice_item_redemption_code":"ark-abcd1234","redeeming_user_id":"00000000-0000-0000-0000-000000000000","redemption_action_type":0,"note":"Sample string value","remote_system_name":"Marketplace","redemption_admin_id":"00000000-0000-0000-0000-000000000000"},"required":["redeeming_user_id","product_id"],"type":"object","properties":{"invoice_item_id":{"format":"uuid","description":"Id of the invoice item to redeem","type":"string"},"redemption_id":{"format":"uuid","description":"Id of the redemption to redeem","type":"string"},"invoice_item_redemption_code":{"description":"Redemption code on the invoice item to redeem","type":"string"},"redeeming_user_id":{"format":"uuid","description":"Id of the user that is redeeming the invoice item","type":"string"},"redemption_action_type":{"format":"int32","description":"Renew redemption updates the expiration on an existing enrollment.\r\nDelete finished enrollment will also create a new enrollment.\r\nDefault is normal redemption (creates an enrollment).\r\nNormalRedemption=1;\r\nDeleteFinishedEnrollment=20;\r\nRenewRedemption=30;0 = InvalidRedemption, 1 = NormalRedemption, 20 = DeleteFinishedEnrollment, 30 = RenewRedemption, 40 = RestartEnrollment","enum":[0,1,20,30,40],"type":"integer"},"note":{"description":"Optional note to be included with the redemption creation audit log.","type":"string"},"remote_system_name":{"description":"Name of the remote system redeeming the invoice item, i.e. \"Marketplace\".","type":"string"},"redemption_admin_id":{"format":"uuid","description":"Id of the admin who assigned the redemption. Will be set to current API user if not provided.","type":"string"},"product_id":{"format":"uuid","description":"ProductId from GetCatalog/CategorySyllabi","type":"string"},"product_type":{"format":"int32","description":"Default is Syllabus.\r\nSyllabus=0;\r\nCatalog=1;\r\nShippingAndHandling=2;\r\nTaxes=3;\r\nOther=4;\r\nOpenEnded=5;0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"invoice_updates":{"$ref":"#/components/schemas/UpdatedInvoiceFields","description":"If not null then these invoice updates will be applied prior to redeeming the invoice item.\r\n<remarks>If a redemption already exists and the redemption id is used for this then the redemption will not be updated with the new invoice item fields. This only works on invoice items that have no redemption created yet.</remarks>"}}},"UpdatedInvoiceFields":{"description":"Represents the fields that can be updated for an invoice item.","type":"object","properties":{"product_id":{"format":"uuid","description":"Gets or sets the unique identifier of the product.","type":"string"},"product_type":{"format":"int32","description":"Gets or sets the type of the product.0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"cost_usd":{"format":"","description":"Gets or sets the cost of the product in USD.","type":"number"},"utc_access_expiration_date":{"format":"date-time","description":"Gets or sets the UTC expiration date for access to the product.","type":"string"},"access_expiration_time_limit":{"description":"Gets or sets the time limit for access expiration.","type":"string"},"note":{"description":"Concatenates this note to the invoice item","type":"string"},"product_code":{"description":"Gets or sets the product code.","type":"string"},"is_renewal":{"description":"Gets or sets a value indicating whether the product is a renewal.","type":"boolean"},"subscription_org_id":{"format":"uuid","description":"Gets or sets the unique identifier of the subscription organization.","type":"string"},"group_memberships":{"description":"REPLACES group memberships associated with the invoice item.\r\nTHIS WILL DELETE EXISTING MEMBERSHIP INSTRUCTIONS","type":"array","items":{"format":"uuid","type":"string"}},"purchasing_group_id":{"format":"uuid","description":"Gets or sets the unique identifier of the purchasing group.","type":"string"},"funding_pool":{"description":"Gets or sets the funding pool associated with the invoice item.","type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Gets or sets the UTC date when redemption becomes available.","type":"string"}}}}}}
```

## The ResetInvoiceRedemptionRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ResetInvoiceRedemptionRequest":{"required":["invoice_item_id"],"type":"object","properties":{"invoice_item_id":{"format":"uuid","description":"Id of the invoice whose redemption is to be reset","type":"string"},"note":{"description":"Optional note to be included with the redemption creation audit log.","type":"string"},"remote_system_name":{"description":"Name of the remote system resetting the invoice item, i.e. \"Marketplace\".","type":"string"},"redemption_reset_admin_id":{"format":"uuid","description":"Id of the admin who assigned the redemption. Will be set to current Api user Id if not provided.","type":"string"}}}}}}
```

## The ResetInvoiceRedemptionResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ResetInvoiceRedemptionResponse":{"title":"ResetInvoiceRedemptionResponse","description":"Includes the updated Invoice and Redemption Information for the reset operation","default":{"new-redemption":{"id":"12345678-1234-5678-9abc-123456789abc","redemption_id":"12345678-1234-5678-9abc-123456789abc","invoice_item_id":"12345678-1234-5678-9abc-123456789abc","invoice_id":"12345678-1234-5678-9abc-123456789abc","redemption_type":0,"redemption_enrollment_id":"12345678-1234-5678-9abc-123456789abc","utc_redemption_date":"2015-12-25T19:25:24.731+00:00","utc_expiration_date":"2015-12-25T19:25:24.731+00:00","redemption_user_id":"12345678-1234-5678-9abc-123456789abc","redemption_user_last_name":"lname","redemption_user_first_name":"fname","redemption_user_login":"foo_login","redemption_user_email":"email@test.com","redemption_code":"ark-abcd1234","organization_id":"12345678-1234-5678-9abc-123456789abc","organization_name":"Test Organization","organization_short_name":"testorg","catalog_id":"12345678-1234-5678-9abc-123456789abc","catalog_name":"Sample name","catalog_description":"Sample description","catalog_pricing_model":2,"catalog_access_time_limit":"1.02:30:45","utc_catalog_creation_date":"2015-12-25T19:25:24.731+00:00","utc_catalog_modified_date":"2015-12-25T19:25:24.731+00:00","syllabus_id":"12345678-1234-5678-9abc-123456789abc","syllabus_title":"Sample title","syllabus_unique_name":"Sample name","syllabus_description":"Sample description","syllabus_certificate_id":"12345678-1234-5678-9abc-123456789abc","syllabus_credit_hours":3,"syllabus_section_number":"SN 101","syllabus_section_ceus":".2 CEUs","syllabus_section_duration":"2 hours","syllabus_section_objectives":"Sample objectives","utc_syllabus_creation_date":"2015-12-25T19:25:24.731+00:00","utc_syllabus_modified_date":"2015-12-25T19:25:24.731+00:00","api_error_entity":{"error_code":0,"warning_messages":[]}},"invoice-item":{"id":"00000000-0000-0000-0000-000000000000","product_type":0},"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"new-redemption":{"$ref":"#/components/schemas/InvoiceRedemptionResponse","description":"The new redemption created after the reset. If the reset fails or no redemption is found then this will be null."},"invoice-item":{"$ref":"#/components/schemas/InvoiceItemResponse","description":"The invoice item this redemption is being reset for"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"InvoiceRedemptionResponse":{"title":"InvoiceRedemptionResponse","description":"Invoice redemption information","default":{"id":"12345678-1234-5678-9abc-123456789abc","redemption_id":"12345678-1234-5678-9abc-123456789abc","invoice_item_id":"12345678-1234-5678-9abc-123456789abc","invoice_id":"12345678-1234-5678-9abc-123456789abc","redemption_type":0,"redemption_enrollment_id":"12345678-1234-5678-9abc-123456789abc","utc_redemption_date":"2015-12-25T19:25:24.731+00:00","utc_expiration_date":"2015-12-25T19:25:24.731+00:00","redemption_user_id":"12345678-1234-5678-9abc-123456789abc","redemption_user_last_name":"lname","redemption_user_first_name":"fname","redemption_user_login":"foo_login","redemption_user_email":"email@test.com","redemption_code":"ark-abcd1234","organization_id":"12345678-1234-5678-9abc-123456789abc","organization_name":"Test Organization","organization_short_name":"testorg","catalog_id":"12345678-1234-5678-9abc-123456789abc","catalog_name":"Sample name","catalog_description":"Sample description","catalog_pricing_model":2,"catalog_access_time_limit":"1.02:30:45","utc_catalog_creation_date":"2015-12-25T19:25:24.731+00:00","utc_catalog_modified_date":"2015-12-25T19:25:24.731+00:00","syllabus_id":"12345678-1234-5678-9abc-123456789abc","syllabus_title":"Sample title","syllabus_unique_name":"Sample name","syllabus_description":"Sample description","syllabus_certificate_id":"12345678-1234-5678-9abc-123456789abc","syllabus_credit_hours":3,"syllabus_section_number":"SN 101","syllabus_section_ceus":".2 CEUs","syllabus_section_duration":"2 hours","syllabus_section_objectives":"Sample objectives","utc_syllabus_creation_date":"2015-12-25T19:25:24.731+00:00","utc_syllabus_modified_date":"2015-12-25T19:25:24.731+00:00","api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["redemption_id","invoice_item_id","invoice_id","organization_id","organization_name","organization_short_name","api_error_entity"],"type":"object","properties":{"redemption_id":{"format":"uuid","description":"Id of the invoice redemption","type":"string"},"invoice_item_id":{"format":"uuid","description":"Id of the invoice item this redemption corresponds to","type":"string"},"invoice_id":{"format":"uuid","description":"Id of the invoice this redemption corresponds to","type":"string"},"redemption_type":{"format":"int32","description":"Section=0;\r\nTrainingPlan=1;\r\nCatalog=2;\r\nUnknown=-1;0 = Section, 1 = TrainingPlan, 2 = Catalog, -1 = Unknown","enum":[0,1,2,-1],"type":"integer"},"redemption_enrollment_id":{"format":"uuid","description":"Id of the enrollment this redemption corresponds to","type":"string"},"utc_redemption_date":{"format":"date-time","description":"When this invoice redemption was redeemed","type":"string"},"utc_expiration_date":{"format":"date-time","description":"When this invoice redemption expires","type":"string"},"redemption_user_id":{"format":"uuid","description":"The id of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_last_name":{"description":"The last name of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_first_name":{"description":"The first name of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_login":{"description":"The login of the user that has redeemed this invoice redemption","type":"string"},"redemption_user_email":{"description":"The email address of the user that has redeemed this invoice redemption","type":"string"},"redemption_code":{"description":"The redemption code corresponding to this redemption","type":"string"},"organization_id":{"format":"uuid","description":"Id of the organization this redemption belongs to","type":"string"},"organization_name":{"description":"Name of the organization this redemption belongs to","type":"string"},"organization_short_name":{"description":"Short name of the organization this redemption belongs to","type":"string"},"catalog_id":{"format":"uuid","description":"Id of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_name":{"description":"Name of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_description":{"description":"Description of the catalog that the redemption belongs to. Will be null if the {Nexport.WebApi.Model.v1.InvoiceRedemptionResponse.RedemptionType} is not {Nexport.Models.PointOfSale.RedemptionTypeEnum.Catalog}","type":"string"},"catalog_pricing_model":{"format":"int32","description":"Pricing model of the catalog that the redemption belongs to\r\nNone=0;\r\nPerHourPrice=1;\r\nPerItemPrice=2;0 = None, 1 = PerHour, 2 = PerItem","enum":[0,1,2],"type":"integer"},"catalog_access_time_limit":{"description":"How long the catalog is available","type":"string"},"utc_catalog_creation_date":{"format":"date-time","description":"When the catalog was created","type":"string"},"utc_catalog_modified_date":{"format":"date-time","description":"When the catalog was last modified","type":"string"},"syllabus_id":{"format":"uuid","description":"Id of the syllabus that this redemption belongs to","type":"string"},"syllabus_title":{"description":"Title of the syllabus this redemption belongs to","type":"string"},"syllabus_unique_name":{"description":"Unique name of the syllabus this redemption belongs to","type":"string"},"syllabus_description":{"description":"Description of the syllabus this redemption belongs to","type":"string"},"syllabus_certificate_id":{"format":"uuid","description":"Id of the syllabus certificate","type":"string"},"syllabus_disable_certificates_for_student":{"description":"Whether or not syllabus certificates are disabled for the student","type":"boolean"},"syllabus_credit_hours":{"format":"","description":"Number of credit hours the syllabus is worth","type":"number"},"syllabus_section_number":{"description":"Section number of the syllabus this redemption belongs to","type":"string"},"syllabus_section_ceus":{"description":"Section CEUs of the syllabus this redemption belongs to","type":"string"},"syllabus_section_duration":{"description":"Section duration of the syllabus this redemption belongs to","type":"string"},"syllabus_section_objectives":{"description":"Section objectives of the syllabus this redemption belongs to","type":"string"},"utc_syllabus_creation_date":{"format":"date-time","description":"When the syllabus was created","type":"string"},"utc_syllabus_modified_date":{"format":"date-time","description":"When the syllabus was last modified","type":"string"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}},"InvoiceItemResponse":{"description":"Details about the invoice item on the invoice","required":["id","product_id","purchasing_group_id","product_type"],"type":"object","properties":{"id":{"format":"uuid","description":"ID of the associated Invoice Item","type":"string"},"product_id":{"format":"uuid","description":"Product ID from the NexPort Catalog","type":"string"},"purchasing_group_id":{"format":"uuid","description":"ID of the Group or Organization that owns this invoice item","type":"string"},"product_type":{"format":"int32","description":"0 = Syllabus, 1 = Catalog, 2 = ShippingAndHandling, 3 = Taxes, 4 = Other, 5 = OpenEnded","enum":[0,1,2,3,4,5],"type":"integer"},"funding_pool":{"type":"string"},"utc_redemption_available_date":{"format":"date-time","description":"Redemption available date for the invoice item","type":"string"}}}}}}
```

## The PostmanCollectionGet object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"PostmanCollectionGet":{"description":"[Postman](http://getpostman.com) collection representation","type":"object","properties":{"id":{"format":"uuid","description":"Id of collection","type":"string"},"name":{"description":"Name of collection","type":"string"},"timestamp":{"format":"int64","description":"Collection generation time","type":"integer"},"requests":{"description":"Requests associated with the collection","type":"array","items":{"$ref":"#/components/schemas/PostmanRequestGet"}},"synced":{"description":"**unused always false**","type":"boolean"},"folders":{"description":"folders within the collection","type":"array","items":{"$ref":"#/components/schemas/PostmanFolderGet"}},"description":{"description":"Description of collection","type":"string"},"order":{"type":"array","items":{"type":"string"}}}},"PostmanRequestGet":{"description":"[Postman](http://getpostman.com) request object","type":"object","properties":{"id":{"description":"id of request","type":"string"},"headers":{"description":"headers associated with the request","type":"string"},"url":{"description":"url of the request","type":"string"},"pathVariables":{"description":"path variables of the request","type":"object","additionalProperties":{"type":"string"}},"method":{"description":"method of request","type":"string"},"data":{"description":"data to be sent with the request","type":"string"},"dataMode":{"description":"data mode of reqeust","type":"string"},"name":{"description":"name of request","type":"string"},"description":{"description":"request description","type":"string"},"descriptionFormat":{"description":"format of description","type":"string"},"time":{"format":"int64","description":"time that this request object was generated","type":"integer"},"version":{"description":"version of the request object","type":"string"},"responses":{"description":"request response","type":"array","items":{"type":"string"}},"collectionId":{"format":"uuid","description":"the id of the collection that the request object belongs to","type":"string"},"synced":{"description":"Synching","type":"boolean"},"folder":{"format":"uuid","description":"THE ID OF THE POSTMAN FOLDER THIS REQUEST BELONGS IN!!!!!!!","type":"string"}}},"PostmanFolderGet":{"description":"Object that describes a [Postman](http://getpostman.com) folder","type":"object","properties":{"id":{"format":"uuid","description":"id of the folder","type":"string"},"name":{"description":"folder name","type":"string"},"description":{"description":"folder description","type":"string"},"order":{"description":"ordered list of ids of items in folder","type":"array","items":{"type":"string"}},"collectionName":{"description":"Name of the collection","type":"string"},"collectionId":{"format":"uuid","description":"id of the collection","type":"string"}}}}}}
```

## The PostmanRequestGet object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"PostmanRequestGet":{"description":"[Postman](http://getpostman.com) request object","type":"object","properties":{"id":{"description":"id of request","type":"string"},"headers":{"description":"headers associated with the request","type":"string"},"url":{"description":"url of the request","type":"string"},"pathVariables":{"description":"path variables of the request","type":"object","additionalProperties":{"type":"string"}},"method":{"description":"method of request","type":"string"},"data":{"description":"data to be sent with the request","type":"string"},"dataMode":{"description":"data mode of reqeust","type":"string"},"name":{"description":"name of request","type":"string"},"description":{"description":"request description","type":"string"},"descriptionFormat":{"description":"format of description","type":"string"},"time":{"format":"int64","description":"time that this request object was generated","type":"integer"},"version":{"description":"version of the request object","type":"string"},"responses":{"description":"request response","type":"array","items":{"type":"string"}},"collectionId":{"format":"uuid","description":"the id of the collection that the request object belongs to","type":"string"},"synced":{"description":"Synching","type":"boolean"},"folder":{"format":"uuid","description":"THE ID OF THE POSTMAN FOLDER THIS REQUEST BELONGS IN!!!!!!!","type":"string"}}}}}}
```

## The PostmanFolderGet object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"PostmanFolderGet":{"description":"Object that describes a [Postman](http://getpostman.com) folder","type":"object","properties":{"id":{"format":"uuid","description":"id of the folder","type":"string"},"name":{"description":"folder name","type":"string"},"description":{"description":"folder description","type":"string"},"order":{"description":"ordered list of ids of items in folder","type":"array","items":{"type":"string"}},"collectionName":{"description":"Name of the collection","type":"string"},"collectionId":{"format":"uuid","description":"id of the collection","type":"string"}}}}}}
```

## The EditScormDataRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"EditScormDataRequest":{"description":"Contains fields for editing a student's SCORM courseware attempt","required":["assignment_status_id","sco_id"],"type":"object","properties":{"assignment_status_id":{"format":"uuid","description":"Id of the assignment status to edit SCORM data for","type":"string"},"sco_id":{"description":"ScoId from GetCmiData","type":"string"},"title":{"description":"Title for the lesson","type":"string"},"start_date_utc":{"format":"date-time","description":"When this attempt was started","type":"string"},"exit_date_utc":{"format":"date-time","description":"When the user exited this attempt","type":"string"},"lesson_mode":{"description":"\"browse\", \"normal\", or \"review\"","type":"string"},"lesson_status":{"description":"This is the current student status as determined by the LMS system.\r\n\"passed\", \"completed\", \"failed\", \"incomplete\", \"browsed\", or \"not attempted\"","type":"string"},"lesson_location":{"description":"This corresponds to the point in the lesson at which the student exited the SCO.\r\nThis can be used to determine where the student will start the course the next time\r\nit is launched.","type":"string"},"exit_status":{"description":"Indicates how the learner left the SCO.\r\n\"normal\" or \"suspend\"","type":"string"},"session_time":{"description":"Identifies the amount of time the learner\r\nhas spent in the current instance of the\r\nSCO.","type":"string"},"total_time":{"description":"Stores the learner’s cumulative time for all\r\nsessions of a specific SCO for a given\r\nlearner attempt.","type":"string"},"raw_score":{"format":"float","description":"Number that reflects the performance of the learner","type":"number"},"suspend_data":{"description":"Provides space to store and retrieve data between learner sessions","type":"string"},"entry":{"description":"Indicates whether the learner has\r\npreviously accessed the SCO.\r\n\"ab-initio\", \"resume\", or \"\" (empty string)","type":"string"},"preference_language":{"description":"The student’s preferred language for SCOs with multilingual capability","type":"string"},"preference_speed":{"format":"int32","description":"The learner’s preferred relative speed of content delivery","type":"integer"},"for_credit":{"description":"Indicates whether the learner will be credited for performance in the SCO","type":"boolean"}}}}}}
```

## The EditScormDataResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"EditScormDataResponse":{"title":"EditScormDataResponse","description":"Simply returns the base response with error information if applicable","default":{"api_error_entity":{"error_code":3,"error_message":"No entity found matching id in request","warning_messages":[]}},"required":["api_error_entity"],"type":"object","properties":{"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The SsoRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SsoRequest":{"description":"A request for an SSO token. Use user_id and org_id OR just use subscription_id for specifying the subscription.","type":"object","properties":{"display":{"format":"int32","description":"Dictates whether to use the normal student display or an alternate \"no chrome\" display which\r\nremoves the NexPort header and menu items from the top of the page.\r\nNormal=0;\r\nNoChrome=1;0 = Normal, 1 = NoChrome","enum":[0,1],"type":"integer"},"user_id":{"format":"uuid","description":"Id of the user being signed in","type":"string"},"org_id":{"format":"uuid","description":"Id of the organization the user has a subscription in","type":"string"},"subscription_id":{"format":"uuid","description":"Id of the subscription. Use this if user_id and org_id are not supplied.","type":"string"},"redirect_entity_request":{"$ref":"#/components/schemas/RedirectEntityRequest","description":"Contains fields for redirecting an Sso user based on certain conditions"}}},"RedirectEntityRequest":{"description":"Contains fields for redirecting an Sso user based on certain conditions","type":"object","properties":{"logout_url":{"description":"Url to redirect user to upon logging out","type":"string"},"invalid_token_url":{"description":"Url to redirect user to if they have an invalid authentication token","type":"string"},"expired_token_url":{"description":"Url to redirect user to if they have an expired authentication token","type":"string"}}}}}}
```

## The RedirectEntityRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"RedirectEntityRequest":{"description":"Contains fields for redirecting an Sso user based on certain conditions","type":"object","properties":{"logout_url":{"description":"Url to redirect user to upon logging out","type":"string"},"invalid_token_url":{"description":"Url to redirect user to if they have an invalid authentication token","type":"string"},"expired_token_url":{"description":"Url to redirect user to if they have an expired authentication token","type":"string"}}}}}}
```

## The SsoResponse object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"SsoResponse":{"title":"SsoResponse","description":"Contains response information for an SSO request","default":{"url":"http://www.nexportcampus.com/suborg/controller/action?foo=bar","access_token":"12345678-1234-5678-9abc-123456789abc","token_type":"bearer","expires_in":3600,"api_error_entity":{"error_code":0,"warning_messages":[]}},"required":["url","access_token","token_type","api_error_entity"],"type":"object","properties":{"url":{"description":"Url to redirect to after SSO authentication","type":"string"},"access_token":{"format":"uuid","description":"REQUIRED.  The access token issued by the authorization server.","type":"string"},"token_type":{"description":"  REQUIRED.  The type of the token issued as described in\r\nSection 7.1.  Value is case insensitive.","type":"string"},"expires_in":{"format":"int32","description":" RECOMMENDED.  The lifetime in seconds of the access token.  For\r\nexample, the value \"3600\" denotes that the access token will\r\nexpire in one hour from the time the response was generated.\r\nIf omitted, the authorization server SHOULD provide the\r\nexpiration time via other means or document the default value.\r\nThis field will be excluded from the response if the client provides\r\na specific expiration date in the request.","type":"integer"},"api_error_entity":{"$ref":"#/components/schemas/ApiErrorEntity","description":"Error information"}}},"ApiErrorEntity":{"description":"Model used to determine what, if anything, went wrong with an api request","required":["error_code"],"type":"object","properties":{"error_code":{"format":"int32","description":"Used to denote the kind of error that occurred, if any.\r\nNoError=0;\r\nUnknownError=1;\r\nValidationError=2;\r\nItemNotFound=3;\r\nAuthenticationError=4;\r\nAuthorizationError=5;0 = No Error, 1 = Unknown Error, 2 = Validation Error, 3 = Item Not Found, 4 = Authentication Error, 5 = Authorization Error, 6 = Subscription Not Found, 7 = Enrollment Already Exists, 8 = Subscription Already Exists","enum":[0,1,2,3,4,5,6,7,8],"type":"integer"},"error_message":{"description":"Message describing what caused the error to occur","type":"string"},"warning_messages":{"description":"Warning messages describing any  potential problems with the request that do not cause the request to fail","type":"array","items":{"type":"string"},"readOnly":true}}}}}}
```

## The ClassroomSsoRequest object

```json
{"openapi":"3.1.1","info":{"title":"NexPort Web API","version":"v1"},"components":{"schemas":{"ClassroomSsoRequest":{"description":"Class for retrieving the url of the classroom student view","required":["enrollment_id"],"type":"object","properties":{"display":{"format":"int32","description":"Dictates whether to use the normal student display or an alternate \"no chrome\" display which\r\nremoves the NexPort header and menu items from the top of the page.\r\nNormal=0;\r\nNoChrome=1;0 = Normal, 1 = NoChrome","enum":[0,1],"type":"integer"},"enrollment_id":{"format":"uuid","description":"Id of the enrollment","type":"string"},"redirect_entity_request":{"$ref":"#/components/schemas/RedirectEntityRequest","description":"Contains fields for redirecting an Sso user based on certain conditions"}}},"RedirectEntityRequest":{"description":"Contains fields for redirecting an Sso user based on certain conditions","type":"object","properties":{"logout_url":{"description":"Url to redirect user to upon logging out","type":"string"},"invalid_token_url":{"description":"Url to redirect user to if they have an invalid authentication token","type":"string"},"expired_token_url":{"description":"Url to redirect user to if they have an expired authentication token","type":"string"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexportsolutions.com/nexport-user-documentation/developer-documentation/campus-webapi/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
