{"openapi":"3.1.0","info":{"title":"Navigatr API","description":"Welcome to the Navigatr API documentation.\n\nThis API provides a robust suite of features to enhance your integration with our platform, including creating and issuing badges.\n\nTo access the API, authentication is required via a Bearer Token. You can generate this token by making a request to the **`/v1/token`** endpoint. Please ensure that the Bearer Token is included in the Header of every API request to authenticate and authorize your interactions with the Navigatr API.\n\nExplore the available features and integrate seamlessly with Navigatr to leverage the full potential of our platform or check [API homepage](/) for all integration options.\n\nTo access the API you need to have a [Navigatr account](https://navigatr.app).\n\nBy using Navigatr API, you are agreeing to our [API Terms of Service](/terms).","termsOfService":"/terms","contact":{"name":"Support","url":"https://help.navigatr.app/"},"version":"1.0"},"paths":{"/v1/token":{"post":{"tags":["Authentication"],"summary":"Token","description":"Get a token by logging in with your Keycloak credentials. `username` and `password` are required. See \"Request body\" below.\nThe `username` field can also be an e-mail address.\n\nReturns **HTTP 200** containing bearer token:\n\n    {\n        \"access_token\": (str)\n    }\n\nRaises **HTTP 401** if username/password is incorrect.\nRaises **HTTP 423** if the IP has exceeded the maximum number of login attempts.","operationId":"authentication_token","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_authentication_token"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeycloakToken"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}}},"423":{"description":"Locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Locked_Model"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/user_detail/{user_id}":{"get":{"tags":["User Detail"],"summary":"Read User Detail","description":"Get details about a user. This data will be initialised if user detail doesn't exist.\n\nUse ID 0 to get the current user. **Only platform admins can view all users.**\nAnother user's `address`, `postal_address`, `latitude`, `longitude`, `city` and\n`country`, and their `keycloak_id`, `credly_id`, `spydus_barcode_id`, `spydus_community_id`\nand every `consent_*` field, are omitted unless the caller is that user or a platform admin.\nAccepts Bearer or PAT; auth is optional (unauthenticated requests have no current user).\nA new account whose email is verified on another profile, or is another profile's\nprimary, gets a 409 whose `code` says why (`email_verified_secondary_elsewhere`,\n`keycloak_account_mismatch` or `email_unverified_primary_elsewhere`). An unverified\nsecondary elsewhere is not a conflict: the new account takes the address.","operationId":"user_detail_read_user_detail","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the user"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/User_Detail"},{"$ref":"#/components/schemas/User_Detail_Public"},{"$ref":"#/components/schemas/User_Detail_Private"}],"title":"Response User Detail Read User Detail"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound_Model"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__user_details__InActive_Model"}}},"description":"Method Not Allowed"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conflict_Code_Model"}}},"description":"Conflict"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__user_details__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/user_detail/{user_id}/interest/multi":{"post":{"tags":["User Detail"],"summary":"Create User Interests","description":"Add a new string to the user's interest. The input data could be anything typed by the user.","operationId":"user_detail_create_user_interests","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the user"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User_Interest_Create"},"title":"Interests"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User_Interest"},"title":"Response User Detail Create User Interests"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/user_detail/{user_id}/learning_style/multi":{"post":{"tags":["User Detail"],"summary":"Create User Learning Styles","description":"Add a new string to the user's learning_style. The input data could be anything typed by the user.","operationId":"user_detail_create_user_learning_styles","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the user"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User_Learning_Style_Create"},"title":"Learning Styles"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User_Learning_Style"},"title":"Response User Detail Create User Learning Styles"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/user_detail/{user_id}/providers":{"get":{"tags":["User Detail"],"summary":"Read User Providers","description":"Get an array containing providers associated to the user. If `enable_badge_create` is set to true, only return providers where the user can create badges.\n\nUse ID 0 to get the current user.\n\n    keyword = Filter providers by keyword\n    enable_badge_create = Only return providers where the user can create badges.","operationId":"user_detail_read_user_providers","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the user"}},{"name":"enable_badge_create","in":"query","required":false,"schema":{"type":"boolean","title":"Enable Badge Create"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Provider"},"title":"Response User Detail Read User Providers"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound_Model"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__user_details__InActive_Model"}}},"description":"Method Not Allowed"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__user_details__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/user_detail/{user_id}/communities":{"get":{"tags":["User Detail"],"summary":"Read User Communities","description":"Get a list of communities associated to the user.\nAuth required (Bearer or PAT). Use ID 0 to get the current user.","operationId":"user_detail_read_user_communities","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the user"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Community"},"title":"Response User Detail Read User Communities"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound_Model"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__user_details__InActive_Model"}}},"description":"Method Not Allowed"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__user_details__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/user_detail/{user_id}/badges":{"get":{"tags":["User Detail"],"summary":"Read User Badges","description":"Get a list of the user's badges.\n\nUse ID 0 to get the current user. Each item's recipient email, change requests, created_by_id,\nupdated_by_id and reminder_emails_sent are returned only to the recipient, platform admins, the\nissuing provider's admins and community admins of that provider's community.","operationId":"user_detail_read_user_badges","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the user"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Assertion_Order_By","default":"Time_Created_Desc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Union_Badge_Assertion_Light__Badge_Assertion_Light_Public__"},{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Badge_Assertion_Light"},{"$ref":"#/components/schemas/Badge_Assertion_Light_Public"}]}}],"title":"Response User Detail Read User Badges"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientBadge_NotFound_Model"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/":{"get":{"tags":["Badge"],"summary":"Read Badges","description":"Retrieve an array of badges filtered by a **Provider**, **Community**, **QA Community** or a **Badge Issuer**. Only one value is required.\nOn the public API, authentication is required and only badges for the current user's own provider or community may be listed.\nOptional parameters may be passed to filter the query.\n\nResults can be ordered by name or time_created, either ascending or descending by passing a value into `order_by`. See below.\nBy default, badges are ordered alphabetically.\n\n| Filter | Description |\n| --- | --- |\n| `provider_id (int)` | Set the provider ID to get the badges that belong to a specific provider. You can find your provider ID in the URL of your provider profile. |\n| `community_id (int)` | Set the community ID to get the badges that belong to a specific community. You can find your community ID in the URL of your community profile. |\n| `qa_community_id (int)` | Set the QA community ID to get the badges that belong to a specific QA community. |\n| `issuer_id (int)` | Set the issuer ID to get the badges that belong to a specific issuer. This is a rarely used filter.|\n| `status (string)` | A comma separated list of badge statuses. Filter badges by status. If none are provided, all statuses the current user has access to will be returned. |\n| `keyword (string)` | Get badges with names similar to the provided string. |\n| `featured (bool)` | Get only featured or unfeatured badges. |\n| `qa_locked (bool)` | Get only badges that are QA locked (an edit lock: only QA approvers can edit them). |\n| `type (Badge_Type)` | Get only badges of a certain type. See below for the available types |\n| `source (Source_Type)` | Get only badges of a certain sort. See below for available sources |\n\n**Badge_Status**:\n\n    Initialising, Draft, Awaiting_Approval, Published, Expired, Deleted\n\n**Badge_Type**:\n\n    Generic Types:\n\n        Experience, Learning, Validation, Certification, Attendance, Work_Experience, Volunteering, Job,\n        Apprenticeship, Course, Membership, Internship, Workshop, Campaigning, Activism, Other\n\n    Navigatr Standard Types:\n\n        Informal_Learning, Training, Certified, Qualification, Membership\n\n**Recipient_Type**:\n\n    User, Organisation\n\n**Source_Type**:\n\n    Internal, Credly\n\n**Badge_Order_By**:\n\n    Time_Created_Asc, Time_Created_Desc, Name_Asc, Name_Desc","operationId":"badge_read_badges","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"issuer_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Issuer Id"}},{"name":"community_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Community Id"}},{"name":"qa_community_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Qa Community Id"}},{"name":"provider_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Provider Id"}},{"name":"featured","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured"}},{"name":"qa_locked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Qa Locked"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Type"}},{"name":"recipient_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Recipient_Type"}},{"name":"source","in":"query","required":false,"schema":{"type":"string","title":"Source"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Order_By","default":"Name_Asc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Badge_"},{"type":"array","items":{"$ref":"#/components/schemas/Badge"}}],"title":"Response Badge Read Badges"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Badge"],"summary":"Create Badge","description":"Creates a new badge. This is metadata describing a **Badge** provided on a digital credentialing platform. A **provider_id**\ncan be specified for internal and Open University badges. That provider will have access to edit and issue the badge. More providers can be added later by\nplatform admins.\n\n    available_to_all (bool) : Defaults to True.\n    availability (str): Optional field. If not None, available_to_all is automatically set to False.\n    type (Badge_Type): Mandatory field.\n    recipient_type (Recipient_Type): Optional field. Defaults to User.\n    source (Source_Type): Optional field. Defaults to Internal. Other options are Credly and Open_University. If External, external_id and external_url are mandatory.\n    external_id (str): Optional field. The unique ID on the external platform. If the badge already exists on Navigatr, it will be updated. If not, it will be created. External ID is required for all external badges.\n    external_url (str): Optional field. URL of the badge on the external platform. External URL is required for all external badges.\n    earn_url (str): Optional field. URL to earn the badge. Defaults to None.\n    information_url (str): Optional field. A link to display additional information about this badge. Defaults to None.\n    cost (Badge_Cost): Optional field. Defaults to Free\n    level (Badge_Level): Optional field. Defaults to Foundational\n    time_to_earn (Time_To_Earn): Optional field. Defaults to Hours\n    participation_type (Participation_Type): Optional field. Defaults to In_Person\n    end_date (datetime): Optional field. Defaults to None\n    time_created (datetime): Optional field. Defaults to the current time. For external badges, set the time created to match with the external platform.\n    tags (List[Tag]): Optional field. Defaults to None.\n    criteria (List[Criteria]): Optional field. Defaults to None.\n    alignments (List[Alignment]): Optional field. Defaults to None.\n    endorsements (List[Endorsement]): Optional field. Defaults to None.\n    design_parameters (object): Optional field. An object or null. Its `qa` (the QA mark, a bool) may be set to true only by a platform admin (403 otherwise); false, null or omitted is accepted from anyone.\n    qualification_code (str): Optional field, max 100 characters. Emitted in Open Badges 3.0 as otherIdentifier.\n    credits_available (float): Optional field, >= 0, stored rounded to two decimal places. Also used for CPD points.\n    credits_unit (str): Optional field, max 20 characters. What credits_available counts; null means \"credits\".\n    qualification_type (Qualification_Type): Optional field. Only accepted when type is Qualification (422 otherwise).\n    qualification_framework (Qualification_Framework): Optional field. RQF, CQFW, SCQF, EQF or QFEmirates. Defaults to RQF only when a qualification_level is sent without it; sent as null with a level is a 422.\n    qualification_level (str): Optional field. Must be valid for the framework (RQF and CQFW: Entry 1-3 and 1-8; SCQF 1-12; EQF and QFEmirates 1-8), 422 otherwise. Adds one system-managed alignment for the framework, replacing any alignment of that framework in the body.\n    grade (Badge_Grade): Optional field. Pass, Merit, Distinction or Distinction*. Shown on every issued badge of this badge, which cannot then be issued with a different grade.\n    field_of_study_id (int): Optional field, any badge type. An active tier 2 Ofqual Sector Subject Area id from GET /sector_subject_area (a tier 1, inactive or unknown id is a 422). Returned embedded as field_of_study and emitted in Open Badges 3.0 as fieldOfStudy.\n\ngenerate_image (bool): Query param, defaults to False. If True, renders and uploads the\nNavigatr Badge Framework image immediately after creation, using provider_id's default\nbranding. Requires design_standard=Navigatr, source=Internal (the default), no explicit\nimage_url/image_url_2x/image_url_original, and no design_parameters.subtitle override in\nthe body unless the subtitle query param is also passed - any mismatch 422s up front,\nbefore any write. A failure in the render itself (e.g. the provider's logo URL is\nunreachable) does not fail badge creation - the badge is still created without an image.\n\ntitle / subtitle (str, optional query params): the artwork text saved in\ndesign_parameters at creation, before any render, in both this and the AI route. They\noverride the same keys in the body's design_parameters. Per key: omit to leave the body's\nvalue as sent, pass \"\" to remove it (title\nthen falls back to the auto-filled field of study and qualification type on a Qualification\nbadge that has both, else the badge name; subtitle to the auto-filled qualification line, if\nany), pass any other string to save it.\nA subtitle supplied here is the caller's own, so it is not subject to the saved-subtitle\nguard. Not validated against the render limits below (each param is capped at 200\ncharacters); the renderer fits a title on at most 2 lines of 23\ncharacters (17 on a Training badge); a subtitle is upper-cased and cut to 22 characters,\nthen wrapped at 22 per line (16 on a Training badge). An over-long second line is cut to\nend in \"...\". Those are character counts\ncalibrated for common English letters, so wide letters can still overflow: keep the title\nto one or two short words. A forced line break in\nthe TITLE is the two-character sequence backslash-n stored in the string (%5Cn in the query\nstring; no JSON escaping applies to a query parameter); the segment before it is not\nlength-checked, and a real newline is drawn inline over the subtitle. The marker does not\nwork in a subtitle, which is upper-cased before the check.\nSaved whether or not generate_image is set, so the website's first-view render uses them.\nInternal-source, Navigatr-standard badges only (422 otherwise, with or without generate_image):\nexternal-source badges carry their own image and Generic badges have no framework render.\n\n**Badge_Type**:\n\n    Generic Types:\n\n        Experience, Learning, Validation, Certification, Attendance, Work_Experience, Volunteering, Job,\n        Apprenticeship, Course, Membership, Internship, Workshop, Campaigning, Activism, Other\n\n    Navigatr Standard Types:\n\n        Informal_Learning, Training, Certified, Qualification\n\n**Source_Type**:\n\n    Internal, Credly, Open_University\n\n**Recipient_Type**:\n\n    User, Organisation\n\n**Badge_Cost**:\n\n    Free, Paid, Other\n\n**Badge_Level**:\n\n    Generic Levels:\n\n        Foundational, Intermediate, Advanced, Other\n\n    Navigatr Standard Levels:\n\n        Explore, Deepen, Apply, Teach, Lead\n\n**Time_To_Earn**:\n\n    Hours, Days, Weeks, Months, Years, Other\n\n**Participation_Type**:\n\n    In_Person, Hybrid, Online\n\n**Qualification_Type**:\n\n    Award, Certificate, Diploma","operationId":"badge_create_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"provider_id","in":"query","required":false,"schema":{"type":"integer","title":"Provider Id"}},{"name":"generate_image","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Generate Image"}},{"name":"title","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Title"}},{"name":"subtitle","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Subtitle"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Create","examples":[{"name":"Learn your ABCs","type":"Experience","recipient_type":"User","source":"Internal","external_id":"oa4ZG-TExu9-HJ5s4-NVRuN","external_url":"https://example.com/badge/vddqWzfUXp9Qa","earn_url":"https://example.com/badge/vddqWzfUXp9Qa/earn","description":"This badge is awarded to earners who have demonstrated their knowledge of all letters of the English alphabet.","image_url":"https://media.navigatr.app/image.webp","address":"123 Example Street, Leeds, West Yorkshire, LS1 EXA","available_to_all":false,"availability":"This badge is available to students of the University of Leeds","time_created":"2023-08-18T13:33:01.201Z","end_date":"2023-11-18T13:33:01.201Z","cost":"Free","level":"Foundational","time_to_earn":"Hours","participation_type":"Online","tags":[{"name":"Machine Learning","external_id":"KS1261Z68KSKR1X31KS3","type":"Specialised_Skill","source":"Lightcast"},{"name":"Software Development","source":"Custom"},{"name":"Problem Solving","source":"Custom"}],"alignments":[{"external_id":"123-45678-90","name":"My Badging Standard - Example Layer","description":"This badge has been mapped to the Example Layer of My Badging Standard","url":"https://Null_Badging/Example.org"},{"name":"Test Alignment","description":"This badge has been mapped to the Test Alignment","url":"https://Example.org"}],"endorsements":[{"external_id":"zyxw-vut-srq-ponmlkjih","name":"Endorsement Example","description":"This is an example of a badge endorsement","url":"https://Endorsement/Example.org","image_url":"https://media.navigatr.app/endorsement.webp","image_url_2x":"https://media.navigatr.app/endorsement_2x.webp"},{"name":"Second Endorsement Example","description":"This is an example of a second badge endorsement","url":"https://Endorsement/Example_2.org"}],"criteria":[{"external_id":"ABCD-EFG-HIJK-LMNOPQRS","description":"Earners must have completed a three stage interview process before they can earn this badge.","type":"Application","external_url":"https://apply.org"}]}]}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unprocessable_Credly_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge/{badge_id}":{"get":{"tags":["Badge"],"summary":"Read Badge","description":"Retrieve data for a specific badge ID.","operationId":"badge_read_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Unprocessable Content"}}},"put":{"tags":["Badge"],"summary":"Update Badge","description":"Update a badge. Partial updates are supported by only sending the keys with values that changed.\nA badge approver who cannot otherwise edit the badge may set `qa_locked` to true on its own,\nto re-lock it.\n`source`, `issuer_id`, `external_id`, `external_url`, `provider_ids` and `community_ids` are\nplatform admin only: anyone else gets 403 when the value differs from the saved one, and a value\nsent unchanged is accepted and ignored, so a full-object PUT still works.\n`design_parameters` replaces the saved object whole, except its `qa` (the QA mark): only a\nplatform admin may change it (403 otherwise). Omitting `qa` (or sending null, or a null\n`design_parameters`) keeps the saved mark, and sending the saved value is accepted from anyone.\n\navailable_to_all (bool) : Defaults to True.\n\n    availability (str): Optional field. If not None, available_to_all is automatically set to False.\n    type (Badge_Type): See below for available types.\n    source (Source_Type): Defaults to Internal\n    cost (Badge_Cost): Defaults to Free\n    level (Badge_Level): Defaults to Foundational\n    time_to_earn (Time_To_Earn): Defaults to Hours\n    participation_type (Participation_Type): Defaults to In_Person\n    qualification_code (str): Max 100 characters.\n    credits_available (float): >= 0, stored rounded to two decimal places.\n    credits_unit (str): Max 20 characters; null means \"credits\".\n    qualification_type (Qualification_Type): Only accepted when the badge type is Qualification (422 otherwise).\n        When the type changes away from Qualification it is cleared if not sent or sent as\n        null, and the request returns 422 if a non-null value is sent.\n    qualification_framework (Qualification_Framework): RQF, CQFW, SCQF, EQF or QFEmirates.\n    qualification_level (str): Checked against the framework after the body is applied, so a\n        framework-only change the stored level is not valid for is a 422, as is a null\n        framework while a level remains. Changing or clearing it replaces or removes the\n        badge's system-managed alignment; alignments of that framework in the body are ignored.\n    grade (Badge_Grade): Pass, Merit, Distinction or Distinction*. Setting or changing it\n        shows the new grade on every issued badge of this badge, including ones already\n        issued, without emailing their recipients; clearing it shows the grade each was\n        issued with again.\n    field_of_study_id (int): An active tier 2 Ofqual Sector Subject Area id (a tier 1,\n        inactive or unknown id is a 422); null clears it. Left alone when not sent, so a badge\n        keeps an area Ofqual has since retired.\n\n**Badge_Type**:\n\n    Generic Types:\n\n        Experience, Learning, Validation, Certification, Attendance, Work_Experience, Volunteering, Job,\n        Apprenticeship, Course, Membership, Internship, Workshop, Campaigning, Activism, Other\n\n    Navigatr Standard Types:\n\n        Informal_Learning, Training, Certified, Qualification, Membership\n\n**Source_Type**:\n\n    Internal, Credly\n\n**Badge_Cost**:\n\n    Free, Paid, Other\n\n**Badge_Level**:\n\n    Generic Levels:\n\n        Foundational, Intermediate, Advanced, Other\n\n    Navigatr Standard Levels:\n\n        Explore, Deepen, Apply, Teach, Lead\n\n**Time_To_Earn**:\n\n    Hours, Days, Weeks, Months, Years, Other\n\n**Participation_Type**:\n\n    In_Person, Hybrid, Online\n\n**Qualification_Type**:\n\n    Award, Certificate, Diploma","operationId":"badge_update_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Update","examples":[{"address":"321 Made-up Street, Sheffield, Yorkshire, S10 XYZ"}]}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Not Found"},"423":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Locked_Model"}}},"description":"Locked"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Badge"],"summary":"Delete Badge","description":"Delete a badge. For example, the badge is no longer available on the credentialing platform. This should only be used in extremely rare circumstances.","operationId":"badge_delete_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"423":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Locked_Model"}}},"description":"Locked"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/open_badges":{"get":{"tags":["Badge"],"summary":"Read Open Badge","description":"Retrieve a badge using the Open Badges Schema.","operationId":"badge_read_open_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Open_Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge/{badge_id}/publish":{"put":{"tags":["Badge"],"summary":"Publish Badge","description":"Publish a draft badge. While draft, only provider admins or the owner can see this badge. Published badges are available to all users.","operationId":"badge_publish_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unprocessable_Publish_Model"}}},"description":"Unprocessable Content"},"423":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Locked_Model"}}},"description":"Locked"}}}},"/v1/badge/{badge_id}/expire":{"put":{"tags":["Badge"],"summary":"Expire Badge","description":"Expire a badge. An expired badge can not longer be issued, but existing assertions will be retained.","operationId":"badge_expire_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unprocessable_Publish_Model"}}},"description":"Unprocessable Content"},"423":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Locked_Model"}}},"description":"Locked"}}}},"/v1/badge/{badge_id}/criteria":{"get":{"tags":["Badge"],"summary":"Read Badge Criteria","description":"Get an array of criteria for a badge.","operationId":"badge_read_badge_criteria","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Criteria"},"title":"Response Badge Read Badge Criteria"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Badge"],"summary":"Create Badge Criteria","description":"Add a new string to the badge's criteria. The input data could be anything typed by the user.","operationId":"badge_create_badge_criteria","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Criteria_Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Criteria"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/criteria/multi":{"post":{"tags":["Badge"],"summary":"Create Badge Criteria Multi","description":"Add list of criteria to the badge.","operationId":"badge_create_badge_criteria_multi","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Criteria_Create"},"title":"Criteria"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Criteria"},"title":"Response Badge Create Badge Criteria Multi"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/criteria/{criteria_id}":{"put":{"tags":["Badge"],"summary":"Update Badge Criteria","description":"Update a specific badge criteria","operationId":"badge_update_badge_criteria","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"criteria_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge criteria"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Criteria_Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Criteria"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Criteria_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Badge"],"summary":"Delete Badge Criteria","description":"Delete a string of badge criteria.","operationId":"badge_delete_badge_criteria","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"criteria_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge criteria"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Criteria_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/alignment":{"get":{"tags":["Badge"],"summary":"Read Badge Alignment","description":"Get an array of alignment for a badge.","operationId":"badge_read_badge_alignment","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Alignment"},"title":"Response Badge Read Badge Alignment"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Badge"],"summary":"Create Badge Alignment","description":"Add a new string to the badge's alignment. The input data could be anything typed by the user.\n\nRefused with a 422 when the alignment is the one the badge's qualification level manages: change the qualification level instead.","operationId":"badge_create_badge_alignment","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Alignment_Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Alignment"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge/{badge_id}/alignment/multi":{"post":{"tags":["Badge"],"summary":"Create Badge Alignment Multi","description":"Add a list of alignments to the badge.\n\nRefused with a 422 when the alignment is the one the badge's qualification level manages: change the qualification level instead.","operationId":"badge_create_badge_alignment_multi","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Alignment_Create"},"title":"Alignments"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Alignment"},"title":"Response Badge Create Badge Alignment Multi"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge/alignment/{alignment_id}":{"put":{"tags":["Badge"],"summary":"Update Badge Alignment","description":"Update a specific badge alignment\n\nRefused with a 422 when the alignment is the one the badge's qualification level manages: change the qualification level instead.","operationId":"badge_update_badge_alignment","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"alignment_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge alignment"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Alignment_Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Alignment"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Alignment_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}},"delete":{"tags":["Badge"],"summary":"Delete Badge Alignment","description":"Delete a string of badge alignment.\n\nRefused with a 422 when the alignment is the one the badge's qualification level manages: change the qualification level instead.","operationId":"badge_delete_badge_alignment","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"alignment_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge alignment"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Alignment_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge/{badge_id}/endorsements":{"get":{"tags":["Badge"],"summary":"Read Badge Endorsements","description":"Get an array of endorsement for a badge.","operationId":"badge_read_badge_endorsements","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Endorsement"},"title":"Response Badge Read Badge Endorsements"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Badge"],"summary":"Create Badge Endorsement","description":"Add a new string to the badge's endorsement. The input data could be anything typed by the user.","operationId":"badge_create_badge_endorsement","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Endorsement_Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Endorsement"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/endorsement/multi":{"post":{"tags":["Badge"],"summary":"Create Badge Endorsements","description":"Add a list of endorsements to the badge.","operationId":"badge_create_badge_endorsements","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Endorsement_Create"},"title":"Endorsements"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Endorsement"},"title":"Response Badge Create Badge Endorsements"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/endorsement/{endorsement_id}":{"put":{"tags":["Badge"],"summary":"Update Badge Endorsement","description":"Update a specific badge endorsement","operationId":"badge_update_badge_endorsement","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"endorsement_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge endorsement"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Endorsement_Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Endorsement"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endorsement_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Badge"],"summary":"Delete Badge Endorsement","description":"Delete a string of badge endorsement.","operationId":"badge_delete_badge_endorsement","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"endorsement_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge endorsement"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endorsement_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/issue":{"put":{"tags":["Badge"],"summary":"Issue Badge","description":"Create a badge assertion and issue a badge to a user (or organisation).\n\nIssuing to an organisation follows the same functionally as issuing to a user,\nexcept that the user will be accepting the badge on behalf of their organisation.\n\nRequired:\n- `provider_id` - Assertions are issued from a provider. This ID must be one of the badge's providers.\n\nIf the user ID is known (the user has a Navigatr account):\n- `recipient_id`\n\nIf the user ID is not known (the user may or may not have a Navigatr account):\n- `recipient_email`\n- `recipient_firstname`\n- `recipient_lastname`\n\nIf the user QR code is known (the user has a Navigatr account):\n- `qr_id`\n\nIf the user's Spydus library card barcode ID is known (the user has a Navigatr account):\n- `spydus_barcode_id`\n\nIf the assertion is for an organisation:\n- `recipient_organisation` - Name of the organisation (as it should appear on the assertion).\n\nOptional:\n- `issue_date` - the date when the assertion will become valid.\n- `end_date` - the date when this assertion should expire.\n- `evidence_text` - a plain text field to add evidence e.g. Recipient completed the course XYZ on ABC.\n- `evidence_url` - a URL linking to the evidence. The API checks it when the badge is issued, and a link that cannot be reached (for example one that returns 404) stops the badge being issued.\n- `score` - the score the user achieved. This is used to determine if the badge should be issued. Leave blank if the badge should be issued regardless of the score.\n- `min_score` - the minimum score required to issue the badge. If the score is lower than this, the badge will not be issued. Leave blank if the badge should be issued regardless of the score.\n- `grade` - Pass, Merit, Distinction or Distinction*. Leave blank to use the badge's grade; if the badge has a grade, a different one is refused (422).\n- `credits_earned` - the credits the recipient earned, 0 or more and no more than the badge's `credits_available` when that is set (422 otherwise). Leave blank when not stated.\n\nIf the recipient already holds the badge, a supplied `grade` or `credits_earned` is applied to the badge they hold (as the details edit does: audit-logged and the recipient is emailed), then the usual 202 is returned.\n\nResponse:\n- `claim_url` - the recipient's claim link while the assertion is pending, null once it is claimed. Handle it like the emailed link: whoever holds it can open the claim page, which shows the recipient's name and email.","operationId":"badge_issue_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_badge_issue_badge"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion_Issued"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeProvider_NotFound_Model"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__InActive_Model"}}},"description":"Unprocessable Content"},"423":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Locked_Model"}}},"description":"Locked"}}}},"/v1/badge/{badge_id}/assertions":{"get":{"tags":["Badge"],"summary":"Read Badge Assertions","description":"Get a list of badge assertions by badge ID.","operationId":"badge_read_badge_assertions_by_badge","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"provider_id","in":"query","required":false,"schema":{"type":"integer","title":"Provider Id"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Assertion_Order_By","default":"Time_Created_Desc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Badge_Assertion_Light_"},{"type":"array","items":{"$ref":"#/components/schemas/Badge_Assertion_Light"}}],"title":"Response Badge Read Badge Assertions By Badge"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientBadge_NotFound_Model"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/tags":{"get":{"tags":["Badge"],"summary":"Read Badge Tags","description":"Get an array of tags for an badge.","operationId":"badge_read_badge_tags","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Tag"},"title":"Response Badge Read Badge Tags"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/tag":{"post":{"tags":["Badge"],"summary":"Create Badge Tag","description":"Add a tag to a badge. The input data could be anything typed by the user.\n\n    name (str) : Mandatory\n    external_id (str) : Optional field.\n    source (Source_Type) : Optional field.\n    type (Tag_Type) : Optional field.\n\n**Source_Type**:\n\n    Custom, Lightcast\n\n**Tag_Type**:\n\n    Specialised_Skill, Common_Skill, Certification, Software, Outcome, Learning_Style, Interest, Other","operationId":"badge_create_badge_tag","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Tag_Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Tag"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Badge"],"summary":"Delete Badge Tag","description":"Delete a tag stored for a badge.","operationId":"badge_delete_badge_tag","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"name","in":"query","required":true,"schema":{"type":"string","title":"Name"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeTag_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge/{badge_id}/tag/multi":{"post":{"tags":["Badge"],"summary":"Create Badge Tags","description":"Add a list of tags to the badge. If the tag already exists, it will be ignored.","operationId":"badge_create_badge_tags","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Badge_Tag_Create"},"title":"Tags"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Badge"],"summary":"Delete Badge Tags","description":"Delete a list of tags from a badge. If a tag does not exist, it will be ignored.","operationId":"badge_delete_badge_tags","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge"}},{"name":"names","in":"query","required":true,"schema":{"type":"string","title":"Names"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badges__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge_assertion/":{"get":{"tags":["Badge Assertion"],"summary":"Read Badge Assertions","description":"Retrieve an array of badges that has been issued to users.\nOptional parameters may be passed to filter the query.\n\nProvider and community admins can only access badges issued by their own organisation(s).\n\n| Filter | Description |\n| --- | --- |\n| `badge_id (integer) - optional` | Retrieve the assertions for a certain badge. |\n| `provider_id (integer) - optional` | Retrieve the assertions issued by a certain provider. |\n| `recipient_id (integer) - optional` | Retrieve the assertions issued to a certain user. |\n| `status (string) - optional` | A comma separated list of badge statuses. Filter by badge assertion status. If none are provided, will default to showing all assertions the user has access to. `Deleted` is platform admins only, except that a recipient listing their own assertions (`recipient_id` = themselves) gets the ones they deleted themselves and that the restore route could accept (the filter is in `get_multi_by_recipient`); the restore route can still refuse one, with a message saying why. |\n| `recipient_email (string) - optional` | Get the assertions issued to a certain email address. Admins, and a user for a verified address on their own account. |\n| `keyword (string) - optional` | Get badge assertions for badges with names similar to the provided string. |\n| `order_by (string) - optional` | By default, badge assertions are ordered by newest first. Results can be ordered by name of badge or time_created, either ascending or descending by passing a value into `order_by`. See below. |\n\n**Badge_Assertion_Status**:\n\n    Pending, Claimed, Revoked, Expired, Deleted\n\n**Badge_Assertion_Order_By**:\n\n    Time_Created_Asc, Time_Created_Desc, Name_Asc, Name_Desc","operationId":"badge_assertion_read_badge_assertions","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"recipient_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Recipient Id"}},{"name":"badge_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Badge Id"}},{"name":"provider_id","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Provider Id"}},{"name":"recipient_email","in":"query","required":false,"schema":{"type":"string","title":"Recipient Email"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Assertion_Order_By","default":"Time_Created_Desc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Union_Badge_Assertion_Light__Badge_Assertion_Light_Public__"},{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Badge_Assertion_Light"},{"$ref":"#/components/schemas/Badge_Assertion_Light_Public"}]}}],"title":"Response Badge Assertion Read Badge Assertions"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientBadge_NotFound_Model"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge_assertion/{badge_assertion_id}":{"get":{"tags":["Badge Assertion"],"summary":"Read Badge Assertion","description":"Get a single badge assertion by ID.\n\nThis is the publicly verifiable badge page surface, so it is optional-auth.\nRecipient PII (plaintext email and platform role) is returned only to the\nrecipient, the issuing org's admins, and platform admins (the full\nBadge_Assertion); every other caller — anonymous or otherwise — receives the\nredacted Badge_Assertion_Public. See P-Nav-APISA-202606-010 / -014.","operationId":"badge_assertion_read_badge_assertion","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Badge_Assertion"},{"$ref":"#/components/schemas/Badge_Assertion_Public"}],"title":"Response Badge Assertion Read Badge Assertion"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_Locked_Model"}}},"description":"Unprocessable Content"}}},"delete":{"tags":["Badge Assertion"],"summary":"Delete Badge Assertion","description":"Delete a badge assertion. Accepts Bearer or PAT.","operationId":"badge_assertion_delete_badge_assertion","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response_Detail"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Inactive_Model"}}},"description":"Method Not Allowed"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badge_assertions__Deleted_Model"}}},"description":"Gone"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge_assertion/{badge_assertion_id}/open_badges":{"get":{"tags":["Badge Assertion"],"summary":"Read Open Badge Assertion","description":"Retrieve a badge assertion using the Open Badges Schema.\n\nImported wallet assertions (`source == Imported`) are returned as a verbatim\npassthrough of the original `raw_payload` so the recipient identity hash, salt,\nand source URLs match the original assertion bit-for-bit. Re-building the wrapper\nfrom the local database would roll a fresh salt and re-hash the user's primary\nemail, breaking the cryptographic tie back to the source issuer. (Imports are\nserved in their original version regardless of the `version` param.)\n\n`version=3.0` emits a signed OB 3.0 OpenBadgeCredential for Navigatr-issued\nassertions: a JSON-LD credential with an embedded Data Integrity proof (`format=json`,\n`application/ld+json`) or a VC-JWT (`format=jwt`, `application/jwt`). A **revoked**\nassertion is NOT refused: the credential is emitted (200) with a `credentialStatus`\nentry pointing at the hosted BitstringStatusList, where the assertion's bit is set — the\ncryptographic-revocation mechanism OB 3.0 expects (a verifier dereferences the list and\nsees the revocation). Returns 400 for an unknown `format` and 422 when OB 3.0 emission is\nnot enabled / keys are not provisioned / the assertion is not provider-issued. (410 still\napplies to deleted or otherwise unavailable assertions, as for `2.0`.)\n\nAll other (`2.0`) assertions are built fresh from the database — `raw_payload` is NULL\nfor those rows by design.","operationId":"badge_assertion_read_open_badge_assertion","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"version","in":"query","required":false,"schema":{"type":"string","description":"Open Badges version: '2.0' (default) or '3.0'","default":"2.0","title":"Version"},"description":"Open Badges version: '2.0' (default) or '3.0'"},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"For version=3.0 only: 'json' (JSON-LD with an eddsa-rdfc-2022 Data Integrity proof) or 'jwt' (VC-JWT Compact JWS)","default":"json","title":"Format"},"description":"For version=3.0 only: 'json' (JSON-LD with an eddsa-rdfc-2022 Data Integrity proof) or 'jwt' (VC-JWT Compact JWS)"},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Open_Badge_Assertion"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__core__exceptions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge_assertion/push":{"post":{"tags":["Badge Assertion"],"summary":"Push External Badge Assertion","description":"Push an external badge assertion to Navigatr. Accepts Bearer or PAT.","operationId":"badge_assertion_push_external_badge_assertion","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_badge_assertion_push_external_badge_assertion"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/badge_assertion/{badge_assertion_id}/revoke":{"put":{"tags":["Badge Assertion"],"summary":"Revoke Badge Assertion","description":"Change the status of the badge assertion to 'Revoked'. Accepts Bearer or PAT.","operationId":"badge_assertion_revoke_badge_assertion","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"revocation_reason","in":"query","required":false,"schema":{"type":"string","title":"Revocation Reason"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badge_assertions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge_assertion/{badge_assertion_id}/details":{"put":{"tags":["Badge Assertion"],"summary":"Update Badge Assertion Details","description":"Correct an issued badge assertion's recipient name / organisation, or its expiry date\n(extend, shorten, set, or clear; a corrected end_date re-syncs status too). Restricted\nto Navigatr-issued assertions and to users with revoke authority over the assertion\n(platform admin, issuing provider/community admin): deliberately `can_revoke`, NOT\n`can_update` (which also returns True for the recipient; they must use the request-changes\nflow instead of self-editing). A name change re-evaluates verification and the recipient\nis emailed. Accepts Bearer or PAT.\n\nAlso sets `grade` (Pass, Merit, Distinction, Distinction*) and `credits_earned` (0 or more,\nno more than the badge's credits_available when set); an explicit null clears either. When\nthe badge has a grade, the same grade or null changes nothing and a different one is a 422.\nA real change is audit-logged and the recipient gets the same \"updated\" email, once, however\nmany fields changed together.","operationId":"badge_assertion_update_badge_assertion_details","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion_Details_Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"405":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Inactive_Model"}}},"description":"Method Not Allowed"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badge_assertions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge_assertion/{badge_assertion_id}/change_request":{"post":{"tags":["Badge Assertion"],"summary":"Create Badge Assertion Change Request","description":"Open a change request against your own badge assertion (#782). The recipient ticks which\nfields they want changed and writes a free-text note; an issuing-org admin then approves\n(by editing the assertion) or rejects it. Recipient of a Navigatr-issued assertion only;\none open request at a time. Accepts Bearer or PAT.","operationId":"badge_assertion_create_badge_assertion_change_request","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request_Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badge_assertions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge_assertion/{badge_assertion_id}/change_request/{request_id}":{"put":{"tags":["Badge Assertion"],"summary":"Update Badge Assertion Change Request","description":"Approve or reject ONE requested field within a change request. Approve just records the\noutcome; the caller applies the value via PUT /{id}/details. Issuing-org admin only (same\nauthority as revoke). Accepts Bearer or PAT.","operationId":"badge_assertion_update_badge_assertion_change_request","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}},{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"The change request id"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request_Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__api_v1__endpoints__badge_assertions__Unprocessable_Model"}}},"description":"Unprocessable Content"}}}},"/v1/badge_assertion/{badge_assertion_id}/verify":{"get":{"tags":["Badge Assertion"],"summary":"Verify Badge Assertion","description":"Public endpoint — no authentication required. Any user (logged in or not) may check\nverification status of a badge assertion.\n\nVerify a badge assertion against Open Badge criteria. Each failed criterion adds a key to\n`reasons`, and `verified` is true only when there are none:\n- `status`: the assertion is Claimed.\n- `issue_date`: an issue date exists and is not in the future.\n- `provider`: for a Navigatr-issued badge, the provider exists and is verified; for an\n  imported badge, the issuer record exists and has a source URL.\n- `recipient_name`: for a Navigatr-issued badge, the recipient name matches the linked\n  account (fuzzy); for an imported badge, a recipient identifier in the credential matches\n  one of the importer's verified emails.\n- `source` (imported badges only): the source still verifies, by re-fetching the hosted\n  assertion (OB 2.0) or re-checking the signature and revocation status (OB 3.0).\n- `time_claimed`: a claim date exists and is not in the future. It is not compared with\n  the issue date, which the issuer supplies.\n- `time_updated`: if the assertion has been updated, the update is not before the claim.\n- `end_date`: the assertion has not passed its expiry date.\n\n`time_verified` reflects the current state: set when all criteria pass and cleared when any\nfail. The exception is an imported badge whose only failure is a non-definitive `source`\nresult (for example, the source is unreachable), which leaves it intact.\nThe website renders a green tick next to the recipient avatar while it is set, so the flag\nmust follow the live verification result rather than stick on the first success.\n\nReturns 403 for non-public assertions (e.g. Pending).","operationId":"badge_assertion_verify_badge_assertion","parameters":[{"name":"badge_assertion_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the badge assertion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Badge_Assertion_Verify_Result"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeAssertion_NotFound_Model"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/community/{community_id}":{"get":{"tags":["Community"],"summary":"Read Community","description":"Get data for a specific community.\n\nReturns the full `Community` schema to platform admins and the community's\nown admins. All other callers (including unauthenticated) receive a\nreduced `Community_Public` schema that omits PII (email, phone), internal\nCRM ids, consent audit trail, feature flags, Spydus credentials, and the\narbitrary `config` dict.","operationId":"community_read_community","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"community_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the community"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Community"},{"$ref":"#/components/schemas/Community_Public"}],"title":"Response Community Read Community"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Community_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Community_Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Community_Inactive_Model"}}},"description":"Unprocessable Content"}}}},"/v1/community/{community_id}/providers":{"get":{"tags":["Community"],"summary":"Read Community Providers","description":"Get an array of providers in a community.\n\nReturns the full `Provider` schema (PII, CRM ids, verification email, phone,\nfeature flags) to platform admins and community admins of the queried\ncommunity. Every other caller — authenticated non-admin or unauthenticated\n— receives the reduced `Provider_Public` schema. The public community page\n(\"Providers\" tab on `/community/<id>/<label>`) depends on the anonymous\nread path; this is the schema that path returns.\n\nPrecursor P-Nav-WAKSA-202605-013 (re-test of P-Nav-WAKA-202503-013 / #1282):\nthe previous fix covered `/community/` and `/provider/stats/community/{id}`\nbut missed this sibling. The pattern is identical.","operationId":"community_read_community_providers","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"community_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the community"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Provider_Order_By","default":"Name_Asc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Provider_Type"}},{"name":"featured","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Provider_"},{"type":"array","items":{"$ref":"#/components/schemas/Provider"}},{"$ref":"#/components/schemas/Page_Provider_Public_"},{"type":"array","items":{"$ref":"#/components/schemas/Provider_Public"}}],"title":"Response Community Read Community Providers"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Community_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Community_Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Community_Inactive_Model"}}},"description":"Unprocessable Content"}}}},"/v1/community/{community_id}/badges":{"get":{"tags":["Community"],"summary":"Read Community Badges","description":"Retrieve an array of badges created by a **Community**. Optional parameters may be passed to filter the query.\n\nResults can be ordered by name or time_created, either ascending or descending by passing a value into `order_by`. See below.\nBy default, badges are ordered alphabetically.\n\n| Filter | Description |\n| --- | --- |\n| `status (string)` | A comma separated list of badge statuses. Filter badges by status. If none are provided, all statuses the current user has access to will be returned. |\n| `keyword (string)` | Get badges with names similar to the provided string. |\n| `featured (bool)` | Get only featured or unfeatured badges. |\n| `qa_locked (bool)` | Get only badges that are QA locked (an edit lock: only QA approvers can edit them). |\n| `type (Badge_Type)` | Get only badges of a certain type. See below for the available types |\n| `source (Source_Type)` | Get only badges of a certain sort. See below for available sources |\n\n**Badge_Status**:\n\n    Initialising, Draft, Awaiting_Approval, Published, Expired, Deleted\n\n**Badge_Type**:\n\n    Generic Types:\n\n        Experience, Learning, Validation, Certification, Attendance, Work_Experience, Volunteering, Job,\n        Apprenticeship, Course, Membership, Internship, Workshop, Campaigning, Activism, Other\n\n    Navigatr Standard Types:\n\n        Informal_Learning, Training, Certified, Qualification, Membership\n\n**Recipient_Type**:\n\n    User, Organisation\n\n**Source_Type**:\n\n    Internal, Credly\n\n**Badge_Order_By**:\n\n    Time_Created_Asc, Time_Created_Desc, Name_Asc, Name_Desc","operationId":"community_read_community_badges","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"community_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the community"}},{"name":"featured","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured"}},{"name":"qa_locked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Qa Locked"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Type"}},{"name":"recipient_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Recipient_Type"}},{"name":"source","in":"query","required":false,"schema":{"type":"string","title":"Source"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Order_By","default":"Name_Asc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Badge_"},{"type":"array","items":{"$ref":"#/components/schemas/Badge"}}],"title":"Response Community Read Community Badges"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/provider/{provider_id}":{"get":{"tags":["Provider"],"summary":"Read Provider","description":"Get data for a specific provider.\n\nReturns the full `Provider` schema to platform admins, the provider's own\nadmins, and the parent community's admins. All other callers (including\nunauthenticated) receive a reduced `Provider_Public` schema that includes the\ncontact email and the analytics flag but omits phone, address,\nverification email, internal CRM ids, consent audit trail, every other\nfeature flag, and the arbitrary `config` dict.","operationId":"provider_read_provider","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the provider"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Provider"},{"$ref":"#/components/schemas/Provider_Public"}],"title":"Response Provider Read Provider"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider_Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider_Inactive_Model"}}},"description":"Unprocessable Content"}}}},"/v1/provider/{provider_id}/open_badges":{"get":{"tags":["Provider"],"summary":"Read Provider As Open Badges Issuer","description":"Get the provider data in style of an Open Badges assertion.","operationId":"provider_read_provider_as_open_badges_issuer","parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Open_Badge_Issuer"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider_NotFound_Model"}}},"description":"Not Found"},"410":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider_Deleted_Model"}}},"description":"Gone"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provider_Inactive_Model"}}},"description":"Unprocessable Content"}}}},"/v1/provider/{provider_id}/badges":{"get":{"tags":["Provider"],"summary":"Read Provider Badges","description":"Retrieve an array of badges created by a **Provider**. Optional parameters may be passed to filter the query.\n\nResults can be ordered by name or time_created, either ascending or descending by passing a value into `order_by`. See below.\nBy default, badges are ordered alphabetically.\n\n| Filter | Description |\n| --- | --- |\n| `status (string)` | A comma separated list of badge statuses. Filter badges by status. If none are provided, all statuses the current user has access to will be returned. |\n| `keyword (string)` | Get badges with names similar to the provided string. |\n| `featured (bool)` | Get only featured or unfeatured badges. |\n| `qa_locked (bool)` | Get only badges that are QA locked (an edit lock: only QA approvers can edit them). |\n| `type (Badge_Type)` | Get only badges of a certain type. See below for the available types |\n| `source (Source_Type)` | Get only badges of a certain sort. See below for available sources |\n\n**Badge_Status**:\n\n    Initialising, Draft, Awaiting_Approval, Published, Expired, Deleted\n\n**Badge_Type**:\n\n    Generic Types:\n\n        Experience, Learning, Validation, Certification, Attendance, Work_Experience, Volunteering, Job,\n        Apprenticeship, Course, Membership, Internship, Workshop, Campaigning, Activism, Other\n\n    Navigatr Standard Types:\n\n        Informal_Learning, Training, Certified, Qualification, Membership\n\n**Recipient_Type**:\n\n    User, Organisation\n\n**Source_Type**:\n\n    Internal, Credly\n\n**Badge_Order_By**:\n\n    Time_Created_Asc, Time_Created_Desc, Name_Asc, Name_Desc","operationId":"provider_read_provider_badges","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"integer","title":"The ID of the provider"}},{"name":"featured","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured"}},{"name":"qa_locked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Qa Locked"}},{"name":"type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Type"}},{"name":"recipient_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Recipient_Type"}},{"name":"source","in":"query","required":false,"schema":{"type":"string","title":"Source"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/Badge_Order_By","default":"Name_Asc"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","title":"Keyword"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}},{"name":"paginated","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paginated"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"X-Access-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Access-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Page_Badge_"},{"type":"array","items":{"$ref":"#/components/schemas/Badge"}}],"title":"Response Provider Read Provider Badges"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest_Model"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpiredToken_Model"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden_Model"}}},"description":"Forbidden"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Address":{"properties":{"full_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Address"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Number"},"street":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Street"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"locality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locality"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"District"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},"type":"object","title":"Address"},"Alignment_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge alignment not found"}},"type":"object","title":"Alignment_NotFound_Model"},"BadRequest_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Invalid input"}},"type":"object","title":"BadRequest_Model"},"Badge":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Learn your ABCs"]},"design_standard":{"anyOf":[{"$ref":"#/components/schemas/Design_Standard"},{"type":"null"}],"default":"Generic"},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Type"},{"type":"null"}]},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"},{"type":"null"}],"default":"English"},"provider_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Provider Ids","default":[]},"community_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Community Ids","default":[]},"recipient_type":{"anyOf":[{"$ref":"#/components/schemas/Recipient_Type"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This badge is awarded to earners who have demonstrated their knowledge of all letters of the English alphabet."]},"issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Issuer Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"design_parameters":{"anyOf":[{},{"type":"null"}],"title":"Design Parameters","default":{}},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"earn_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earn Url"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"information_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Url"},"embed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embed"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"config":{"anyOf":[{},{"type":"null"}],"title":"Config","default":{}},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["123 Example Street, Leeds, West Yorkshire, England, LS1 EXA"]},"available_to_all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Available To All","default":true,"examples":[false]},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","examples":["This badge is available to students of the University of Leeds"]},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-11-18T13:33:01.201Z"]},"cost":{"anyOf":[{"$ref":"#/components/schemas/Badge_Cost"},{"type":"null"}]},"level":{"anyOf":[{"$ref":"#/components/schemas/Badge_Level"},{"type":"null"}]},"time_to_earn":{"anyOf":[{"$ref":"#/components/schemas/Time_To_Earn"},{"type":"null"}]},"participation_type":{"anyOf":[{"$ref":"#/components/schemas/Participation_Type"},{"type":"null"}]},"qa_locked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Qa Locked","default":false},"job_titles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Job Titles","default":[]},"specialized_occupations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialized Occupations","default":[]},"title_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Title Names","default":[]},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"certificates_enabled":{"type":"boolean","title":"Certificates Enabled","default":true},"industries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Industries","default":[]},"occupation_groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Occupation Groups","default":[]},"skill_category_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skill Category Names","default":[]},"edu_levels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Edu Levels","default":[]},"qualification_code":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Qualification Code","examples":["603/1234/5"]},"credits_available":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credits Available","examples":[60]},"credits_unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Credits Unit","examples":["credits"]},"qualification_type":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Type"},{"type":"null"}]},"qualification_framework":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Framework"},{"type":"null"}]},"qualification_level":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Qualification Level","examples":["3"]},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"field_of_study_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Field Of Study Id","examples":[3]},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Badge_Status"},"created_by":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Public"},{"type":"null"}]},"submitted_by":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Public"},{"type":"null"}]},"published_by":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Public"},{"type":"null"}]},"updated_by":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Public"},{"type":"null"}]},"issuer":{"anyOf":[{"$ref":"#/components/schemas/Badge_Issuer_Public"},{"type":"null"}],"examples":[{}]},"ranking":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"time_submitted":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Submitted"},"time_published":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Published"},"quality_assured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Quality Assured At"},"time_issued":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Issued"},"postal_address":{"anyOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}],"default":{}},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"submitted_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Submitted By Id"},"published_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Published By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"criteria":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Criteria"},"type":"array"},{"type":"null"}],"title":"Criteria"},"tags":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Tag"},"type":"array"},{"type":"null"}],"title":"Tags","default":[]},"alignments":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Alignment"},"type":"array"},{"type":"null"}],"title":"Alignments","default":[]},"endorsements":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Endorsement"},"type":"array"},{"type":"null"}],"title":"Endorsements","default":[]},"collections":{"anyOf":[{"items":{"$ref":"#/components/schemas/Collection_Light"},"type":"array"},{"type":"null"}],"title":"Collections","default":[]},"providers":{"anyOf":[{"items":{"$ref":"#/components/schemas/Provider_Light"},"type":"array"},{"type":"null"}],"title":"Providers","default":[]},"interacted_with":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Interacted With","default":false},"featured":{"type":"boolean","title":"Featured","default":false},"ai_generated":{"type":"boolean","title":"Ai Generated","default":false},"url":{"type":"string","title":"Url","examples":["https://navigatr.app/badge/12345/Learn-Your-ABCs"]},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"field_of_study":{"anyOf":[{"$ref":"#/components/schemas/Sector_Subject_Area_Embedded"},{"type":"null"}]},"display_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Level","description":"The one level to show: the qualification level label when set, else `level` (#1915).","readOnly":true}},"type":"object","required":["display_level"],"title":"Badge"},"BadgeAssertion_Deleted_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge assertion is no longer available"}},"type":"object","title":"BadgeAssertion_Deleted_Model"},"BadgeAssertion_Locked_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge assertion is failed"}},"type":"object","title":"BadgeAssertion_Locked_Model"},"BadgeAssertion_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge assertion not found"}},"type":"object","title":"BadgeAssertion_NotFound_Model"},"BadgeProvider_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge/Provider not found"}},"type":"object","title":"BadgeProvider_NotFound_Model"},"BadgeTag_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge (tag) not found"}},"type":"object","title":"BadgeTag_NotFound_Model"},"Badge_Alignment":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["123-45678-90"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Null Badging Standard - Example Layer"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This badge has been mapped to the Example Layer of the Null Badging Standard"]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://Null_Badging/Example.org"]},"framework":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Framework","examples":[""]},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","examples":[""]},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"}},"type":"object","title":"Badge_Alignment"},"Badge_Alignment_Create":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["123-45678-90"]},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"url":{"type":"string","title":"Url"},"framework":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Framework","examples":[""]},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","examples":[""]}},"type":"object","required":["name","description","url"],"title":"Badge_Alignment_Create"},"Badge_Alignment_Update":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["123-45678-90"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Null Badging Standard - Example Layer"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This badge has been mapped to the Example Layer of the Null Badging Standard"]},"url":{"type":"string","title":"Url"},"framework":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Framework","examples":[""]},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","examples":[""]}},"type":"object","required":["url"],"title":"Badge_Alignment_Update"},"Badge_Assertion":{"properties":{"recipient_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Email","examples":["example@user.com"]},"recipient_firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Firstname","examples":["Jane"]},"recipient_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Lastname","examples":["Doe"]},"recipient_organisation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Organisation","examples":["XYZ Limited"]},"recipient_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recipient Id"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-12-02T15:33:32.561Z"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative","examples":[""]},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":[""]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":[""]},"badge_issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Issuer Id"},"provider_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provider Id"},"evidence":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Evidence"},"type":"array"},{"type":"null"}],"title":"Evidence"},"issue_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issue Date","examples":["2022-12-02T15:33:32.561Z"]},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified","examples":["2022-12-02T15:33:32.561Z"]},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Badge_Assertion_Status"},"issuing_method":{"$ref":"#/components/schemas/Issuing_Method"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credits Earned"},"recipient":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Public"},{"type":"null"}]},"issuer":{"anyOf":[{"$ref":"#/components/schemas/Badge_Issuer"},{"type":"null"}],"examples":[{}]},"provider":{"anyOf":[{"$ref":"#/components/schemas/Provider_Public"},{"type":"null"}]},"badge":{"anyOf":[{"$ref":"#/components/schemas/Badge"},{"type":"null"}]},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"reject_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reject Code"},"revocation_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocation Reason","examples":[""]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/badge/assertion/123"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"},"reminder_emails_sent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reminder Emails Sent","default":0},"time_claimed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Claimed","examples":["2022-12-02T15:33:32.561Z"]},"change_request":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request"},"type":"array"},{"type":"null"}],"title":"Change Request"},"restorable_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Restorable Until"}},"type":"object","required":["evidence","reject_code"],"title":"Badge_Assertion"},"Badge_Assertion_Change_Request":{"properties":{"id":{"type":"string","title":"Id"},"changes":{"items":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request_Item"},"type":"array","title":"Changes"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","examples":["Married last year, updating my surname"]},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"last_reminded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Reminded At"},"reminder_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reminder Count","default":0}},"type":"object","required":["id","changes","time_created"],"title":"Badge_Assertion_Change_Request"},"Badge_Assertion_Change_Request_Create":{"properties":{"changes":{"items":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request_Item_Input"},"type":"array","minItems":1,"title":"Changes"},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Note"}},"type":"object","required":["changes"],"title":"Badge_Assertion_Change_Request_Create"},"Badge_Assertion_Change_Request_Item":{"properties":{"field":{"$ref":"#/components/schemas/Change_Request_Field"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value","examples":["Joe"]},"status":{"$ref":"#/components/schemas/Change_Request_Status","default":"requested"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["field"],"title":"Badge_Assertion_Change_Request_Item"},"Badge_Assertion_Change_Request_Item_Input":{"properties":{"field":{"$ref":"#/components/schemas/Change_Request_Field"},"value":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Value"}},"type":"object","required":["field"],"title":"Badge_Assertion_Change_Request_Item_Input"},"Badge_Assertion_Change_Request_Update":{"properties":{"field":{"$ref":"#/components/schemas/Change_Request_Field"},"status":{"$ref":"#/components/schemas/Change_Request_Status"},"reason":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Reason"}},"type":"object","required":["field","status"],"title":"Badge_Assertion_Change_Request_Update"},"Badge_Assertion_Details_Update":{"properties":{"recipient_firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Firstname","examples":["Jane"]},"recipient_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Lastname","examples":["Doe"]},"recipient_organisation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Organisation","examples":["XYZ Limited"]},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2027-12-02T15:33:32.561Z"]},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credits Earned","examples":[20]},"skip_email":{"type":"boolean","title":"Skip Email","default":false}},"type":"object","title":"Badge_Assertion_Details_Update"},"Badge_Assertion_Evidence":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Badge Completion Certificate"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This digital certificate is awarded to users that complete the course associated with this badge"]},"type":{"anyOf":[{"$ref":"#/components/schemas/Evidence_Type"},{"type":"null"}]},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative","examples":[""]},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre","examples":["Literacy"]},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience","examples":[""]},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value","examples":["https://evidence.com/certificate.webp"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":[""]},"id":{"type":"integer","title":"Id"},"badge_assertion_id":{"type":"integer","title":"Badge Assertion Id"},"values":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Evidence_Values"},"type":"array"},{"type":"null"}],"title":"Values"}},"type":"object","required":["id","values"],"title":"Badge_Assertion_Evidence"},"Badge_Assertion_Evidence_Values":{"properties":{"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","title":"Badge_Assertion_Evidence_Values"},"Badge_Assertion_Issued":{"properties":{"recipient_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Email","examples":["example@user.com"]},"recipient_firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Firstname","examples":["Jane"]},"recipient_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Lastname","examples":["Doe"]},"recipient_organisation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Organisation","examples":["XYZ Limited"]},"recipient_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recipient Id"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-12-02T15:33:32.561Z"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative","examples":[""]},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":[""]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":[""]},"badge_issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Issuer Id"},"provider_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provider Id"},"evidence":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Evidence"},"type":"array"},{"type":"null"}],"title":"Evidence"},"issue_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issue Date","examples":["2022-12-02T15:33:32.561Z"]},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified","examples":["2022-12-02T15:33:32.561Z"]},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Badge_Assertion_Status"},"issuing_method":{"$ref":"#/components/schemas/Issuing_Method"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credits Earned"},"recipient":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Public"},{"type":"null"}]},"issuer":{"anyOf":[{"$ref":"#/components/schemas/Badge_Issuer"},{"type":"null"}],"examples":[{}]},"provider":{"anyOf":[{"$ref":"#/components/schemas/Provider_Public"},{"type":"null"}]},"badge":{"anyOf":[{"$ref":"#/components/schemas/Badge"},{"type":"null"}]},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"reject_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reject Code"},"revocation_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocation Reason","examples":[""]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/badge/assertion/123"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"},"reminder_emails_sent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reminder Emails Sent","default":0},"time_claimed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Claimed","examples":["2022-12-02T15:33:32.561Z"]},"change_request":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request"},"type":"array"},{"type":"null"}],"title":"Change Request"},"restorable_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Restorable Until"},"claim_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Url","examples":["https://navigatr.app/claim/badge/assertion/123?t=abc"]}},"type":"object","required":["evidence","reject_code"],"title":"Badge_Assertion_Issued","description":"The single issue endpoints' response: the assertion plus the recipient's claim link.\n\nOnly the issue response carries `claim_url`; Badge_Assertion itself does not, so no read,\nlist or cache entry ever holds the link."},"Badge_Assertion_Light":{"properties":{"id":{"type":"integer","title":"Id"},"recipient_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Email","examples":["example@user.com"]},"recipient_firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Firstname","examples":["Jane"]},"recipient_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Lastname","examples":["Doe"]},"recipient_organisation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Organisation","examples":["XYZ Limited"]},"recipient_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recipient Id"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-12-02T15:33:32.561Z"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"badge_issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Issuer Id"},"provider_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provider Id"},"issue_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issue Date","examples":["2022-12-02T15:33:32.561Z"]},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified","examples":["2022-12-02T15:33:32.561Z"]},"time_claimed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Claimed","examples":["2022-12-02T15:33:32.561Z"]},"recipient":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Light"},{"type":"null"}]},"provider":{"anyOf":[{"$ref":"#/components/schemas/Provider_Light"},{"type":"null"}]},"badge":{"anyOf":[{"$ref":"#/components/schemas/Badge_Light"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/Badge_Assertion_Status"},"issuing_method":{"$ref":"#/components/schemas/Issuing_Method"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"revocation_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocation Reason","examples":[""]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/badge/assertion/123"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"},"reminder_emails_sent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reminder Emails Sent","default":0},"change_request":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Change_Request"},"type":"array"},{"type":"null"}],"title":"Change Request"},"restorable_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Restorable Until"},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credits Earned"}},"type":"object","required":["id"],"title":"Badge_Assertion_Light"},"Badge_Assertion_Light_Public":{"properties":{"id":{"type":"integer","title":"Id"},"recipient_firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Firstname","examples":["Jane"]},"recipient_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Lastname","examples":["Doe"]},"recipient_organisation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Organisation","examples":["XYZ Limited"]},"recipient_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recipient Id"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-12-02T15:33:32.561Z"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"badge_issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Issuer Id"},"provider_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provider Id"},"issue_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issue Date","examples":["2022-12-02T15:33:32.561Z"]},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified","examples":["2022-12-02T15:33:32.561Z"]},"time_claimed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Claimed","examples":["2022-12-02T15:33:32.561Z"]},"recipient":{"anyOf":[{"$ref":"#/components/schemas/User_Detail_Light"},{"type":"null"}]},"provider":{"anyOf":[{"$ref":"#/components/schemas/Provider_Light"},{"type":"null"}]},"badge":{"anyOf":[{"$ref":"#/components/schemas/Badge_Light"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/Badge_Assertion_Status"},"issuing_method":{"$ref":"#/components/schemas/Issuing_Method"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"revocation_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocation Reason","examples":[""]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/badge/assertion/123"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"},"restorable_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Restorable Until"},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credits Earned"}},"type":"object","required":["id"],"title":"Badge_Assertion_Light_Public"},"Badge_Assertion_Order_By":{"type":"string","enum":["Time_Created_Asc","Time_Created_Desc","Name_Asc","Name_Desc"],"title":"Badge_Assertion_Order_By"},"Badge_Assertion_Public":{"properties":{"id":{"type":"integer","title":"Id"},"recipient_firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Firstname","examples":["Jane"]},"recipient_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Lastname","examples":["Doe"]},"recipient_organisation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Organisation","examples":["XYZ Limited"]},"recipient_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recipient Id"},"recipient":{"anyOf":[{"$ref":"#/components/schemas/Badge_Assertion_Recipient_Public"},{"type":"null"}]},"badge":{"anyOf":[{"$ref":"#/components/schemas/Badge"},{"type":"null"}]},"provider":{"anyOf":[{"$ref":"#/components/schemas/Provider_Public"},{"type":"null"}]},"issuer":{"anyOf":[{"$ref":"#/components/schemas/Badge_Issuer"},{"type":"null"}],"examples":[{}]},"evidence":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Assertion_Evidence"},"type":"array"},{"type":"null"}],"title":"Evidence"},"status":{"$ref":"#/components/schemas/Badge_Assertion_Status"},"issuing_method":{"$ref":"#/components/schemas/Issuing_Method"},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"issue_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issue Date","examples":["2022-12-02T15:33:32.561Z"]},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-12-02T15:33:32.561Z"]},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified","examples":["2022-12-02T15:33:32.561Z"]},"time_claimed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Claimed","examples":["2022-12-02T15:33:32.561Z"]},"revocation_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocation Reason","examples":[""]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/badge/assertion/123"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative","examples":[""]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":[""]},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credits Earned"}},"type":"object","title":"Badge_Assertion_Public"},"Badge_Assertion_Recipient_Public":{"properties":{"id":{"type":"integer","title":"Id"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","examples":["John"]},"lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname","examples":["Doe"]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://media.navigatr.app/avatar.webp"]},"avatar_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url 2X","examples":["https://media.navigatr.app/avatar_2x.webp"]},"avatar_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url Original"},"noindex_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Noindex Enabled","default":true},"visibility":{"$ref":"#/components/schemas/User_Visibility","default":"Public"}},"type":"object","title":"Badge_Assertion_Recipient_Public"},"Badge_Assertion_Status":{"type":"string","enum":["Pending","Claimed","Expired","Revoked","Deleted","Failed","Complained"],"title":"Badge_Assertion_Status"},"Badge_Assertion_Verify_Result":{"properties":{"verified":{"type":"boolean","title":"Verified","default":false},"reasons":{"additionalProperties":{"type":"string"},"type":"object","title":"Reasons","default":{}},"status":{"$ref":"#/components/schemas/Badge_Assertion_Status"},"issue_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Issue Date"},"issuer_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Issuer Verified"},"issuing_method":{"anyOf":[{"$ref":"#/components/schemas/Issuing_Method"},{"type":"null"}]},"recipient_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Name"},"issuer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer Name"},"source_platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Platform"},"time_created":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Created"},"time_claimed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Claimed"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"}},"type":"object","title":"Badge_Assertion_Verify_Result"},"Badge_Cost":{"type":"string","enum":["Free","Paid","Other"],"title":"Badge_Cost"},"Badge_Create":{"properties":{"name":{"type":"string","title":"Name"},"design_standard":{"anyOf":[{"$ref":"#/components/schemas/Design_Standard"},{"type":"null"}],"default":"Generic"},"type":{"$ref":"#/components/schemas/Badge_Type"},"language":{"$ref":"#/components/schemas/Language","default":"English"},"provider_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Provider Ids","default":[]},"community_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Community Ids","default":[]},"recipient_type":{"$ref":"#/components/schemas/Recipient_Type","default":"User"},"description":{"type":"string","title":"Description"},"issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Issuer Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"design_parameters":{"anyOf":[{},{"type":"null"}],"title":"Design Parameters","default":{}},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"earn_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earn Url"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"information_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Url"},"embed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embed"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"config":{"anyOf":[{},{"type":"null"}],"title":"Config","default":{}},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["123 Example Street, Leeds, West Yorkshire, England, LS1 EXA"]},"available_to_all":{"type":"boolean","title":"Available To All","default":true},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","examples":["This badge is available to students of the University of Leeds"]},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-11-18T13:33:01.201Z"]},"cost":{"anyOf":[{"$ref":"#/components/schemas/Badge_Cost"},{"type":"null"}],"default":"Free"},"level":{"anyOf":[{"$ref":"#/components/schemas/Badge_Level"},{"type":"null"}],"default":"Foundational"},"time_to_earn":{"anyOf":[{"$ref":"#/components/schemas/Time_To_Earn"},{"type":"null"}],"default":"Hours"},"participation_type":{"$ref":"#/components/schemas/Participation_Type","default":"In_Person"},"qa_locked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Qa Locked"},"job_titles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Job Titles","default":[]},"specialized_occupations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialized Occupations","default":[]},"title_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Title Names","default":[]},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"certificates_enabled":{"type":"boolean","title":"Certificates Enabled"},"industries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Industries","default":[]},"occupation_groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Occupation Groups","default":[]},"skill_category_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skill Category Names","default":[]},"edu_levels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Edu Levels","default":[]},"qualification_code":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Qualification Code","examples":["603/1234/5"]},"credits_available":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credits Available","examples":[60]},"credits_unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Credits Unit","examples":["credits"]},"qualification_type":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Type"},{"type":"null"}]},"qualification_framework":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Framework"},{"type":"null"}]},"qualification_level":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Qualification Level","examples":["3"]},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"field_of_study_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Field Of Study Id","examples":[3]},"featured":{"type":"boolean","title":"Featured","default":false},"ai_generated":{"type":"boolean","title":"Ai Generated","default":false},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"criteria":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Criteria_Create"},"type":"array"},{"type":"null"}],"title":"Criteria","default":[]},"alignments":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Alignment_Create"},"type":"array"},{"type":"null"}],"title":"Alignments","default":[]},"endorsements":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Endorsement_Create"},"type":"array"},{"type":"null"}],"title":"Endorsements","default":[]},"tags":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Tag_Create"},"type":"array"},{"type":"null"}],"title":"Tags","default":[]}},"type":"object","required":["name","type","description"],"title":"Badge_Create"},"Badge_Criteria":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["ABCD-EFG-HIJK-LMNOPQRS"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["Earners must have completed a three stage interview process before they can earn this badge."]},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Criteria_Type"},{"type":"null"}]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":["https://apply.org"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"}},"type":"object","title":"Badge_Criteria"},"Badge_Criteria_Create":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["ABCD-EFG-HIJK-LMNOPQRS"]},"description":{"type":"string","title":"Description"},"type":{"$ref":"#/components/schemas/Badge_Criteria_Type"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":["https://apply.org"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"}},"type":"object","required":["description","type"],"title":"Badge_Criteria_Create"},"Badge_Criteria_Type":{"type":"string","enum":["Application","Assessment","Award","Badge","Course","Credential","Education_Experience","Leadership","Member","Participant","Pathway","Payment","Portfolio","Presenter","Project","Professional_Experience","Schedule_Registration","Volunteer","Other"],"title":"Badge_Criteria_Type"},"Badge_Criteria_Update":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["ABCD-EFG-HIJK-LMNOPQRS"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["Earners must have completed a three stage interview process before they can earn this badge."]},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Criteria_Type"},{"type":"null"}]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":["https://apply.org"]},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"}},"type":"object","title":"Badge_Criteria_Update"},"Badge_Endorsement":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["zyxw-vut-srq-ponmlkjih"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Endorsement Example"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This is an example of a badge endorsement"]},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://Endorsement/Example.org"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/endorsement.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/endorsement_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/endorsement_original.webp"]},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Id"}},"type":"object","title":"Badge_Endorsement"},"Badge_Endorsement_Create":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["zyxw-vut-srq-ponmlkjih"]},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://Endorsement/Example.org"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/endorsement.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/endorsement_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/endorsement_original.webp"]}},"type":"object","required":["name","description"],"title":"Badge_Endorsement_Create"},"Badge_Endorsement_Update":{"properties":{"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id","examples":["zyxw-vut-srq-ponmlkjih"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://Endorsement/Example.org"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/endorsement.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/endorsement_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/endorsement_original.webp"]}},"type":"object","title":"Badge_Endorsement_Update"},"Badge_Grade":{"type":"string","enum":["Pass","Merit","Distinction","Distinction*"],"title":"Badge_Grade"},"Badge_Issuer":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Issuer_Type"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"source_credly_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Credly Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url"},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X"},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X"},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Badge_Issuer_Status"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"}},"type":"object","title":"Badge_Issuer"},"Badge_Issuer_Public":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Issuer_Type"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/Badge_Issuer_Status"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url"},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X"},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X"}},"type":"object","title":"Badge_Issuer_Public"},"Badge_Issuer_Status":{"type":"string","enum":["Active","Suspended","Deleted"],"title":"Badge_Issuer_Status"},"Badge_Issuer_Type":{"type":"string","enum":["Employer","Learning_Provider","Other"],"title":"Badge_Issuer_Type"},"Badge_Level":{"type":"string","enum":["Foundational","Intermediate","Advanced","Other","Explore","Deepen","Apply","Teach","Lead"],"title":"Badge_Level"},"Badge_Light":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Badge_Status"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Learn your ABCs"]},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Type"},{"type":"null"}]},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"},{"type":"null"}],"default":"English"},"provider_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Provider Ids","default":[]},"community_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Community Ids","default":[]},"recipient_type":{"anyOf":[{"$ref":"#/components/schemas/Recipient_Type"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This badge is awarded to earners who have demonstrated their knowledge of all letters of the English alphabet."]},"issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Issuer Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}],"default":"Internal"},"earn_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earn Url"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"information_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Url"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["123 Example Street, Leeds, West Yorkshire, England, LS1 EXA"]},"available_to_all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Available To All","default":true,"examples":[false]},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","examples":["This badge is available to students of the University of Leeds"]},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-11-18T13:33:01.201Z"]},"cost":{"anyOf":[{"$ref":"#/components/schemas/Badge_Cost"},{"type":"null"}]},"level":{"anyOf":[{"$ref":"#/components/schemas/Badge_Level"},{"type":"null"}]},"time_to_earn":{"anyOf":[{"$ref":"#/components/schemas/Time_To_Earn"},{"type":"null"}]},"participation_type":{"anyOf":[{"$ref":"#/components/schemas/Participation_Type"},{"type":"null"}]},"qa_locked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Qa Locked","default":false},"job_titles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Job Titles","default":[]},"specialized_occupations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialized Occupations","default":[]},"title_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Title Names","default":[]},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"ranking":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"time_submitted":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Submitted"},"time_published":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Published"},"quality_assured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Quality Assured At"},"time_issued":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Issued"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"submitted_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Submitted By Id"},"published_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Published By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"interacted_with":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Interacted With","default":false},"featured":{"type":"boolean","title":"Featured","default":false},"ai_generated":{"type":"boolean","title":"Ai Generated","default":false},"certificates_enabled":{"type":"boolean","title":"Certificates Enabled","default":true},"qualification_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Qualification Code"},"credits_available":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credits Available"},"credits_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credits Unit"},"qualification_type":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Type"},{"type":"null"}]},"qualification_framework":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Framework"},{"type":"null"}]},"qualification_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Qualification Level"},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"field_of_study_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Field Of Study Id"},"field_of_study":{"anyOf":[{"$ref":"#/components/schemas/Sector_Subject_Area_Embedded"},{"type":"null"}]},"url":{"type":"string","title":"Url","examples":["https://navigatr.app/badge/12345/Learn-Your-ABCs"]},"collections":{"anyOf":[{"items":{"$ref":"#/components/schemas/Collection_Light"},"type":"array"},{"type":"null"}],"title":"Collections","default":[]},"display_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Level","description":"The one level to show: the qualification level label when set, else `level` (#1915).","readOnly":true}},"type":"object","required":["id","display_level"],"title":"Badge_Light"},"Badge_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge not found"}},"type":"object","title":"Badge_NotFound_Model"},"Badge_Order_By":{"type":"string","enum":["Time_Created_Asc","Time_Created_Desc","Time_Updated_Asc","Time_Updated_Desc","Name_Asc","Name_Desc"],"title":"Badge_Order_By"},"Badge_Status":{"type":"string","enum":["Initialising","Draft","Awaiting_Approval","Published","Deleted","Expired"],"title":"Badge_Status"},"Badge_Tag":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Test Driven Development"]},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","title":"Badge_Tag"},"Badge_Tag_Create":{"properties":{"name":{"type":"string","title":"Name"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["name"],"title":"Badge_Tag_Create"},"Badge_Type":{"type":"string","enum":["Experience","Learning","Validation","Certification","Attendance","Work_Experience","Volunteering","Job","Apprenticeship","Course","Internship","Workshop","Campaigning","Activism","Other","Informal_Learning","Training","Certified","Qualification","Membership"],"title":"Badge_Type"},"Badge_Update":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"design_standard":{"anyOf":[{"$ref":"#/components/schemas/Design_Standard"},{"type":"null"}],"default":"Generic"},"type":{"anyOf":[{"$ref":"#/components/schemas/Badge_Type"},{"type":"null"}]},"language":{"anyOf":[{"$ref":"#/components/schemas/Language"},{"type":"null"}],"default":"English"},"provider_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Provider Ids","default":[]},"community_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Community Ids","default":[]},"recipient_type":{"anyOf":[{"$ref":"#/components/schemas/Recipient_Type"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This badge is awarded to earners who have demonstrated their knowledge of all letters of the English alphabet."]},"issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Issuer Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/image.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/image_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original"},"design_parameters":{"anyOf":[{},{"type":"null"}],"title":"Design Parameters","default":{}},"source":{"anyOf":[{"$ref":"#/components/schemas/Source_Type"},{"type":"null"}]},"earn_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earn Url"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"information_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Information Url"},"embed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embed"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"config":{"anyOf":[{},{"type":"null"}],"title":"Config","default":{}},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["123 Example Street, Leeds, West Yorkshire, England, LS1 EXA"]},"available_to_all":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Available To All","default":true,"examples":[false]},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","examples":["This badge is available to students of the University of Leeds"]},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","examples":["2023-11-18T13:33:01.201Z"]},"cost":{"anyOf":[{"$ref":"#/components/schemas/Badge_Cost"},{"type":"null"}]},"level":{"anyOf":[{"$ref":"#/components/schemas/Badge_Level"},{"type":"null"}]},"time_to_earn":{"anyOf":[{"$ref":"#/components/schemas/Time_To_Earn"},{"type":"null"}]},"participation_type":{"anyOf":[{"$ref":"#/components/schemas/Participation_Type"},{"type":"null"}]},"qa_locked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Qa Locked"},"job_titles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Job Titles","default":[]},"specialized_occupations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialized Occupations","default":[]},"title_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Title Names","default":[]},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"certificates_enabled":{"type":"boolean","title":"Certificates Enabled"},"industries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Industries","default":[]},"occupation_groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Occupation Groups","default":[]},"skill_category_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Skill Category Names","default":[]},"edu_levels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Edu Levels","default":[]},"qualification_code":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Qualification Code","examples":["603/1234/5"]},"credits_available":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credits Available","examples":[60]},"credits_unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Credits Unit","examples":["credits"]},"qualification_type":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Type"},{"type":"null"}]},"qualification_framework":{"anyOf":[{"$ref":"#/components/schemas/Qualification_Framework"},{"type":"null"}]},"qualification_level":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Qualification Level","examples":["3"]},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"field_of_study_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Field Of Study Id","examples":[3]},"criteria":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Criteria"},"type":"array"},{"type":"null"}],"title":"Criteria"},"alignments":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Alignment"},"type":"array"},{"type":"null"}],"title":"Alignments"},"endorsements":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Endorsement"},"type":"array"},{"type":"null"}],"title":"Endorsements"},"tags":{"anyOf":[{"items":{"$ref":"#/components/schemas/Badge_Tag"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","title":"Badge_Update"},"Body_authentication_token":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"^password$"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","format":"password","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"format":"password","title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_authentication_token"},"Body_badge_assertion_push_external_badge_assertion":{"properties":{"provider_id":{"type":"integer","title":"The ID of the Navigatr provider to push the assertion to"},"badge_external_id":{"type":"string","title":"The ID of the badge on the external platform","examples":["WMJbq-rL5iP-GVgg6-ZgJjX"]},"source":{"$ref":"#/components/schemas/Source_Type","title":"The external platform the badge assertion is from e.g. Open_University, Credly","examples":["Open_University"]},"external_id":{"type":"string","title":"The ID of the badge assertion on the external platform","examples":["9cwWM-7b7TW-2R3A6-aG3MQ"]},"external_url":{"type":"string","title":"The URL to the badge assertion on the external platform","examples":["https://examples.[com/badge_assertion/9cwWM-7b7TW-2R3A6-aG3MQ"]},"recipient_email":{"type":"string","title":"The email address of the recipient of the badge","examples":["jane.doe@examples.[com"]},"recipient_firstname":{"type":"string","title":"The first name of the recipient of the badge","examples":["Jane"]},"recipient_lastname":{"type":"string","title":"The last name of the recipient of the badge","examples":["Doe"]},"recipient_organisation":{"type":"string","title":"The name of the organisation the badge is issued to. Required only for organisation badges","examples":["Example Ltd"]},"issue_date":{"type":"string","format":"date-time","title":"The date the badge was issued","examples":["2023-08-02T23:40:11.554Z"]},"end_date":{"type":"string","format":"date-time","title":"The date the badge assertion expires","examples":["2033-08-02T23:40:11.554Z"]},"evidence_text":{"type":"string","title":"A plain text field explaining the evidence for the assertion","examples":["Recipient completed the course XYZ on ABC"]},"evidence_url":{"type":"string","title":"A valid URL linking to the evidence","examples":["https://navigatr.app/activity/415/ai-badge-design-training"]}},"type":"object","required":["provider_id","badge_external_id","source","external_id","external_url","recipient_email","recipient_firstname"],"title":"Body_badge_assertion_push_external_badge_assertion"},"Body_badge_issue_badge":{"properties":{"provider_id":{"type":"integer","title":"Provider Id"},"qr_id":{"type":"string","title":"Qr Id"},"spydus_barcode_id":{"type":"string","title":"Spydus Barcode Id"},"recipient_id":{"type":"integer","title":"Recipient Id"},"recipient_firstname":{"type":"string","title":"Recipient Firstname"},"recipient_lastname":{"type":"string","title":"Recipient Lastname"},"recipient_organisation":{"type":"string","title":"Recipient Organisation"},"recipient_email":{"type":"string","title":"Recipient Email"},"issue_date":{"type":"string","format":"date-time","title":"Issue Date"},"end_date":{"type":"string","format":"date-time","title":"End Date"},"evidence_text":{"type":"string","title":"Evidence Text"},"evidence_url":{"type":"string","title":"Evidence Url"},"score":{"type":"integer","title":"Score","default":0},"min_score":{"type":"integer","title":"Min Score","default":0},"grade":{"anyOf":[{"$ref":"#/components/schemas/Badge_Grade"},{"type":"null"}]},"credits_earned":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credits Earned"}},"type":"object","required":["provider_id"],"title":"Body_badge_issue_badge"},"Change_Request_Field":{"type":"string","enum":["recipient_firstname","recipient_lastname","recipient_organisation","extend_expiry"],"title":"Change_Request_Field"},"Change_Request_Status":{"type":"string","enum":["requested","approved","rejected"],"title":"Change_Request_Status"},"Collection_Light":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"badge_issuer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Badge Issuer Id"}},"type":"object","required":["id"],"title":"Collection_Light"},"Community":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Fordwich Town Council"]},"short_name":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Short Name","examples":["FTC"]},"organisation_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organisation Name","examples":["Horace's Haberdashery Academy Limited"]},"company_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Number","examples":["12345678"]},"verification_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Url"},"type":{"anyOf":[{"$ref":"#/components/schemas/Community_Type"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This is an example of a description of Fordwich Town Council."]},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","examples":["example.email@HHA.org"]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","examples":["0044 113 658 9852"]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["23 Not Real Road, Fordwich, Kent, CT4 88R"]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default","default":false,"examples":[false]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":["https://Fordwich_Town_Council.org"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/Fordwich.webp"]},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url","examples":["https://media.navigatr.app/Fordwich_banner.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/Fordwich_2x.webp"]},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X","examples":["https://media.navigatr.app/Fordwich_banner_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/Fordwich_original.webp"]},"banner_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url Original","examples":["https://media.navigatr.app/Fordwich_banner_original.webp"]},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured","default":false,"examples":[false]},"colour":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Colour","examples":["#844A82"]},"enable_summary_emails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Summary Emails","default":true},"linkedin_organisation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linkedin Organisation Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"consent_supply_of_service":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Supply Of Service"},"consent_supply_of_service_by":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Consent Supply Of Service By"},"pipedrive_org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pipedrive Org Id"},"pipedrive_deal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pipedrive Deal Id"},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Community_Status"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"enable_engagement_emails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Engagement Emails","default":false},"suspension_reason":{"anyOf":[{"$ref":"#/components/schemas/Suspension_Reason"},{"type":"null"}]},"ranking":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"verified_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verified By Id"},"verification_request_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verification Request By Id"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified"},"time_stats_email_sent":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Stats Email Sent"},"postal_address":{"anyOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}],"default":{}},"config":{"anyOf":[{},{"type":"null"}],"title":"Config"},"survey_consent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Survey Consent"},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false},"verification_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Text"},"verification_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Verification Email"},"enable_analytics":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Analytics","default":false},"enable_members":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Members","default":false},"enable_library_card":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Library Card","default":false},"spydus_library_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spydus Library Url"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"},"member_visibility_default":{"$ref":"#/components/schemas/User_Visibility","default":"Public"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/community/5/fordwich-town-council"]}},"type":"object","title":"Community"},"Community_Deleted_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Deleted community. Try restoring first."}},"type":"object","title":"Community_Deleted_Model"},"Community_Inactive_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Suspended community. Try activating first."}},"type":"object","title":"Community_Inactive_Model"},"Community_Light":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Community_Status"},"type":{"anyOf":[{"$ref":"#/components/schemas/Community_Type"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Fordwich Town Council"]},"short_name":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Short Name","examples":["FTC"]},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/Fordwich.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/Fordwich_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/Fordwich_original.webp"]},"linkedin_organisation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linkedin Organisation Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/community/5/fordwich-town-council"]}},"type":"object","required":["id"],"title":"Community_Light"},"Community_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Community not found"}},"type":"object","title":"Community_NotFound_Model"},"Community_Public":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Community_Status"},"type":{"anyOf":[{"$ref":"#/components/schemas/Community_Type"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Fordwich Town Council"]},"short_name":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Short Name","examples":["FTC"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["This is an example of a description of Fordwich Town Council."]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":["https://Fordwich_Town_Council.org"]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["23 Not Real Road, Fordwich, Kent, CT4 88R"]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false},"verification_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Text"},"verification_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Url"},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"colour":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Colour","examples":["#844A82"]},"spydus_library_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spydus Library Url"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/Fordwich.webp"]},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url","examples":["https://media.navigatr.app/Fordwich_banner.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/Fordwich_2x.webp"]},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X","examples":["https://media.navigatr.app/Fordwich_banner_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/Fordwich_2x.webp"]},"banner_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url Original","examples":["https://media.navigatr.app/Fordwich_banner_2x.webp"]},"linkedin_organisation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linkedin Organisation Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/community/5/fordwich-town-council"]}},"type":"object","title":"Community_Public"},"Community_Status":{"type":"string","enum":["Active","Suspended","Deleted"],"title":"Community_Status"},"Community_Type":{"type":"string","enum":["City","Region","Local_Authority","Membership_Organisation","Awarding_Body","Partnership","Corporate","Association","University","College","Charity","Other"],"title":"Community_Type"},"Conflict_Code_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Conflict"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},"type":"object","title":"Conflict_Code_Model"},"Criteria_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge criteria not found"}},"type":"object","title":"Criteria_NotFound_Model"},"Design_Standard":{"type":"string","enum":["Generic","Navigatr"],"title":"Design_Standard"},"Endorsement_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge endorsement not found"}},"type":"object","title":"Endorsement_NotFound_Model"},"Evidence_Type":{"type":"string","enum":["UrlEvidence","PlainTextEvidence","IdEvidence","KeyValueGroupEvidence"],"title":"Evidence_Type"},"ExpiredToken_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Expired token"}},"type":"object","title":"ExpiredToken_Model"},"Forbidden_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Insufficient permissions"}},"type":"object","title":"Forbidden_Model"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Inactive_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge is not active"}},"type":"object","title":"Inactive_Model"},"Issuing_Method":{"type":"string","enum":["Email","Activity","Autobadge","Bulk","API","Pushed","Migrated","QR","Library_Card","Riddle","Typeform","Zoho_Forms","Tally","Imported","Pathway"],"title":"Issuing_Method"},"KeycloakToken":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"id_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Token"}},"type":"object","required":["access_token"],"title":"KeycloakToken","description":"Keycloak representation of a token object\n\nAttributes:\n    access_token (str): An access token\n    refresh_token (str): An a refresh token, default None\n    id_token (str): An issued by the Authorization Server token id, default None"},"Language":{"type":"string","enum":["Arabic_Modern_Standard","Bengali","Bulgarian","Chinese_Cantonese","Chinese_Mandarin","Chinese_Simplified","Chinese_Traditional","Croatian","Czech","Dutch","English","French","German","Greek","Hungarian","Irish_Gaeilge","Italian","Kurdish_Kurmanji","Kurdish_Sorani","Latvian","Lithuanian","Pashto","Persian","Polish","Portuguese","Punjabi","Romanian","Scottish_Gaelic_Gaidhlig","Slovak","Somali","Spanish","Tigrinya","Turkish","Ukrainian","Urdu","Welsh_Cymraeg"],"title":"Language"},"Network_Public":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Image Url"},"image_url_2x":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Image Url 2X"},"image_url_original":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Image Url Original"},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Network_Status"},"time_created":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"}},"type":"object","required":["name","id","status"],"title":"Network_Public"},"Network_Status":{"type":"string","enum":["Active","Deleted"],"title":"Network_Status"},"NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"User not found"}},"type":"object","title":"NotFound_Model"},"Open_Badge":{"properties":{"@context":{"type":"string","title":"@Context","default":"https://w3id.org/openbadges/v2"},"type":{"type":"string","title":"Type","default":"BadgeClass"},"id":{"type":"string","title":"Id","examples":["https://navigatr.app/badge/12345/Learn-Your-ABCs"]},"name":{"type":"string","title":"Name","examples":["Learn Your ABCs"]},"description":{"type":"string","title":"Description","examples":["This badge is awarded to earners who have demonstrated their knowledge of all letters of the English alphabet."]},"image":{"anyOf":[{"$ref":"#/components/schemas/Open_Badge_Image"},{"type":"null"}],"examples":["https://media.navigatr.app/image.webp"]},"criteria":{"anyOf":[{"$ref":"#/components/schemas/Open_Badge_Criteria"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags","default":[]},"issuer":{"$ref":"#/components/schemas/Open_Badge_Issuer"},"alignment":{"anyOf":[{"items":{"$ref":"#/components/schemas/Open_Badge_Alignment"},"type":"array"},{"type":"null"}],"title":"Alignment","default":[]}},"type":"object","required":["issuer"],"title":"Open_Badge"},"Open_Badge_Alignment":{"properties":{"targetName":{"type":"string","title":"Targetname"},"targetUrl":{"type":"string","title":"Targeturl"},"targetDescription":{"type":"string","title":"Targetdescription"},"targetFramework":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Targetframework"},"targetCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Targetcode"}},"type":"object","required":["targetName","targetUrl","targetDescription"],"title":"Open_Badge_Alignment"},"Open_Badge_Assertion":{"properties":{"id":{"type":"string","title":"Id"},"@context":{"type":"string","title":"@Context","default":"https://w3id.org/openbadges/v2"},"type":{"type":"string","title":"Type","default":"Assertion"},"recipient":{"$ref":"#/components/schemas/Open_Badge_Recipient"},"badge":{"$ref":"#/components/schemas/Open_Badge"},"verification":{"$ref":"#/components/schemas/Open_Badge_Verification"},"issuedOn":{"type":"string","format":"date-time","title":"Issuedon"},"image":{"anyOf":[{"$ref":"#/components/schemas/Open_Badge_Image"},{"type":"null"}]},"evidence":{"anyOf":[{"items":{"$ref":"#/components/schemas/Open_Badge_Assertion_Evidence"},"type":"array"},{"type":"null"}],"title":"Evidence","default":[]},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative"},"expires":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires"},"revoked":{"type":"boolean","title":"Revoked","default":false},"revocationReason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocationreason"}},"type":"object","required":["id","recipient","badge","verification","issuedOn"],"title":"Open_Badge_Assertion"},"Open_Badge_Assertion_Evidence":{"properties":{"type":{"anyOf":[{"$ref":"#/components/schemas/Evidence_Type"},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"}},"type":"object","required":["type","id","narrative","name","description","genre","audience"],"title":"Open_Badge_Assertion_Evidence"},"Open_Badge_Criteria":{"properties":{"id":{"type":"string","title":"Id"},"narrative":{"type":"string","title":"Narrative"}},"type":"object","required":["id","narrative"],"title":"Open_Badge_Criteria"},"Open_Badge_Image":{"properties":{"id":{"type":"string","title":"Id"}},"type":"object","required":["id"],"title":"Open_Badge_Image"},"Open_Badge_Issuer":{"properties":{"id":{"type":"string","title":"Id"},"@context":{"type":"string","title":"@Context","default":"https://w3id.org/openbadges/v2"},"type":{"type":"string","title":"Type","default":"Issuer"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"email":{"type":"string","title":"Email"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","default":""},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image","default":""}},"type":"object","required":["id","name","url","email"],"title":"Open_Badge_Issuer"},"Open_Badge_Recipient":{"properties":{"type":{"type":"string","title":"Type","default":"email"},"hashed":{"type":"boolean","title":"Hashed","default":false},"salt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salt"},"identity":{"type":"string","title":"Identity"}},"type":"object","required":["identity"],"title":"Open_Badge_Recipient"},"Open_Badge_Verification":{"properties":{"type":{"type":"string","title":"Type","default":"hosted"},"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"Open_Badge_Verification","description":"OB 2.0 hosted-verification block — must accompany every issued assertion.\n\n`type` is `\"hosted\"` (lowercase) per the IMS Global spec text. The OB 2.0\nJSON-LD context (`https://purl.imsglobal.org/spec/ob/v2p0/context/context.json`)\naccepts both `\"hosted\"` and `\"HostedBadge\"` as aliases for `obi:HostedBadge`,\nbut every major real-world issuer (Accredible, Credly, Open Badge Factory,\nMoodle, Canvas Badges) uses the lowercase form, and third-party importers\n(notably Credly) reject the capitalised form even though it's valid JSON-LD.\n\n`url` is REQUIRED for hosted verification per spec: third-party verifiers\nfetch it to retrieve the assertion JSON and confirm the badge is genuinely\nhosted by the claimed issuer. Same URL as the assertion's `id` field —\nthe assertion's hosted JSON endpoint."},"Page_Badge_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Badge"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[Badge]"},"Page_Badge_Assertion_Light_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Badge_Assertion_Light"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[Badge_Assertion_Light]"},"Page_Provider_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Provider"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[Provider]"},"Page_Provider_Public_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Provider_Public"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[Provider_Public]"},"Page_Union_Badge_Assertion_Light__Badge_Assertion_Light_Public__":{"properties":{"items":{"items":{"anyOf":[{"$ref":"#/components/schemas/Badge_Assertion_Light"},{"$ref":"#/components/schemas/Badge_Assertion_Light_Public"}]},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[Union[Badge_Assertion_Light, Badge_Assertion_Light_Public]]"},"Participation_Type":{"type":"string","enum":["Online","Hybrid","In_Person"],"title":"Participation_Type"},"Provider":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Horace's Haberdashery Academy"]},"short_name":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Short Name","examples":["HHA"]},"organisation_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organisation Name","examples":["Horace's Haberdashery Academy Limited"]},"company_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Number","examples":["12345678"]},"verification_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Url"},"type":{"anyOf":[{"$ref":"#/components/schemas/Provider_Type"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["HHA is the foremost provider of haberdashery education in the UK."]},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","examples":["example.email@HHA.org"]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","examples":["0044 113 658 9852"]},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["42 Fake Boulevard, Scunthorpe, North Lincolnshire, England, DN1 822"]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url","examples":["https://HHA.org"]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/HHA.webp"]},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url","examples":["https://media.navigatr.app/HHA_banner.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/HHA_2x.webp"]},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X","examples":["https://media.navigatr.app/HHA_banner_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/HHA_original.webp"]},"banner_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url Original","examples":["https://media.navigatr.app/HHA_banner_original.webp"]},"source_credly_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Credly Id"},"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured"},"brand_colours":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Brand Colours","default":[],"examples":[["#FFFF00"]]},"badge_logo_regular_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Badge Logo Regular Url","examples":["https://media.navigatr.app/HHA_badge.webp"]},"badge_logo_mono_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Badge Logo Mono Url","examples":["https://media.navigatr.app/HHA_badge_mono.webp"]},"enable_summary_emails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Summary Emails","default":true},"enable_surveys":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Surveys","default":false},"linkedin_organisation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linkedin Organisation Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"consent_supply_of_service":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Supply Of Service"},"consent_supply_of_service_by":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Consent Supply Of Service By"},"pipedrive_org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pipedrive Org Id"},"pipedrive_deal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pipedrive Deal Id"},"id":{"type":"integer","title":"Id"},"community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Community Id"},"status":{"$ref":"#/components/schemas/Provider_Status"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"enable_engagement_emails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Engagement Emails","default":false},"suspension_reason":{"anyOf":[{"$ref":"#/components/schemas/Suspension_Reason"},{"type":"null"}]},"postal_address":{"anyOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}],"default":{}},"ranking":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"verified_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verified By Id"},"verification_request_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Verification Request By Id"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"time_verified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Verified"},"time_stats_email_sent":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Stats Email Sent"},"config":{"anyOf":[{},{"type":"null"}],"title":"Config"},"community":{"anyOf":[{"$ref":"#/components/schemas/Community"},{"type":"null"}]},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false},"verification_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Text"},"verification_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Verification Email"},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"open_access":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Open Access","default":false},"enable_analytics":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Analytics","default":false},"enable_members":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Members","default":false},"enable_badge_publish":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Badge Publish","default":false},"enable_badge_create":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Badge Create","default":false},"enable_badge_submit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Badge Submit","default":false},"enable_job_feed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Job Feed","default":false},"qa_community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qa Community Id"},"member_visibility_default":{"$ref":"#/components/schemas/User_Visibility","default":"Public"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/provider/2922/horaces-haberdashery"]}},"type":"object","required":["community"],"title":"Provider"},"Provider_Deleted_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Deleted provider. Try restoring first."}},"type":"object","title":"Provider_Deleted_Model"},"Provider_Inactive_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Suspended provider. Try activating first."}},"type":"object","title":"Provider_Inactive_Model"},"Provider_Light":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Provider_Status"},"type":{"anyOf":[{"$ref":"#/components/schemas/Provider_Type"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Horace's Haberdashery Academy"]},"short_name":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Short Name","examples":["HHA"]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false},"verification_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Text"},"verification_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Url"},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"open_access":{"type":"boolean","title":"Open Access","default":false},"community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Community Id"},"community":{"anyOf":[{"$ref":"#/components/schemas/Community_Light"},{"type":"null"}]},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/HHA.webp"]},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url","examples":["https://media.navigatr.app/HHA_banner.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/HHA_2x.webp"]},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X","examples":["https://media.navigatr.app/HHA_banner_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/HHA_original.webp"]},"banner_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url Original","examples":["https://media.navigatr.app/HHA_banner_original.webp"]},"qa_community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qa Community Id"},"linkedin_organisation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linkedin Organisation Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/provider/2922/horaces-haberdashery"]}},"type":"object","required":["id","community"],"title":"Provider_Light"},"Provider_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Provider not found"}},"type":"object","title":"Provider_NotFound_Model"},"Provider_Order_By":{"type":"string","enum":["Time_Created_Asc","Time_Created_Desc","Name_Asc","Name_Desc"],"title":"Provider_Order_By"},"Provider_Public":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/Provider_Status"},"type":{"anyOf":[{"$ref":"#/components/schemas/Provider_Type"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Horace's Haberdashery Academy"]},"short_name":{"anyOf":[{"type":"string","maxLength":12},{"type":"null"}],"title":"Short Name","examples":["HHA"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","examples":["HHA is the foremost provider of haberdashery education in the UK."]},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","examples":["example.email@HHA.org"]},"external_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Url"},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false},"verification_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Text"},"verification_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Url"},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"open_access":{"type":"boolean","title":"Open Access","default":false},"enable_analytics":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Analytics","default":false},"community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Community Id"},"community":{"anyOf":[{"$ref":"#/components/schemas/Community_Public"},{"type":"null"}]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","examples":["https://media.navigatr.app/HHA.webp"]},"banner_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url","examples":["https://media.navigatr.app/HHA_banner.webp"]},"image_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url 2X","examples":["https://media.navigatr.app/HHA_2x.webp"]},"banner_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url 2X","examples":["https://media.navigatr.app/HHA_banner_2x.webp"]},"image_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url Original","examples":["https://media.navigatr.app/HHA_original.webp"]},"banner_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Banner Url Original","examples":["https://media.navigatr.app/HHA_banner_original.webp"]},"brand_colours":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Brand Colours","default":[],"examples":[["#FFFF00"]]},"qa_community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qa Community Id"},"linkedin_organisation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Linkedin Organisation Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","examples":["https://navigatr.app/provider/2922/horaces-haberdashery"]}},"type":"object","required":["community"],"title":"Provider_Public"},"Provider_Status":{"type":"string","enum":["Active","Suspended","Deleted"],"title":"Provider_Status"},"Provider_Type":{"type":"string","enum":["Learning_Provider","Training_Provider","Awarding_Body","Employer","Local_Authority","University","College","Charity","Department","Project","Other"],"title":"Provider_Type"},"Qualification_Framework":{"type":"string","enum":["RQF","CQFW","SCQF","EQF","QFEmirates"],"title":"Qualification_Framework"},"Qualification_Type":{"type":"string","enum":["Award","Certificate","Diploma"],"title":"Qualification_Type"},"RecipientBadge_NotFound_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge/Recipient not found"}},"type":"object","title":"RecipientBadge_NotFound_Model"},"Recipient_Type":{"type":"string","enum":["User","Organisation"],"title":"Recipient_Type"},"Response_Detail":{"properties":{"detail":{"title":"Detail","examples":["Task completed successfully"]}},"type":"object","title":"Response_Detail"},"Sector_Subject_Area_Embedded":{"properties":{"id":{"type":"integer","title":"Id"},"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"tier_1_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier 1 Name"},"image_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Label"}},"type":"object","required":["id","code","name"],"title":"Sector_Subject_Area_Embedded","description":"A badge's field of study as embedded in badge reads and the Ofqual lookup (#1946).\n\nThe website editor and the CLI read these names, so they are a contract."},"Source_Type":{"type":"string","enum":["Internal","Credly","Open_University","Imported"],"title":"Source_Type"},"Suspension_Reason":{"type":"string","enum":["Subscription_Expired","Manual"],"title":"Suspension_Reason"},"Time_To_Earn":{"type":"string","enum":["Hours","Days","Weeks","Months","Years","Other"],"title":"Time_To_Earn"},"Unauthorized_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Unauthorized access"}},"type":"object","title":"Unauthorized_Model"},"Unprocessable_Credly_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Issuer ID, external ID and external URL are required for Credly badges"}},"type":"object","title":"Unprocessable_Credly_Model"},"Unprocessable_Publish_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge can not be published"}},"type":"object","title":"Unprocessable_Publish_Model"},"User_Detail":{"properties":{"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","examples":["John"]},"lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname","examples":["Doe"]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://media.navigatr.app/avatar.webp"]},"avatar_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url 2X","examples":["https://media.navigatr.app/avatar_2x.webp"]},"avatar_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url Original","examples":["https://media.navigatr.app/avatar_original.webp"]},"credly_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credly Id","examples":["3849f89r-23n7-1dfg-5h78-93709ff8h4jj"]},"spydus_barcode_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spydus Barcode Id","examples":["B201404054"]},"spydus_community_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spydus Community Id","examples":["45"]},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio","examples":["John Doe is a team-focused leader with skills in collaboration, communication, and solution development. He is a highly motivated individual with a passion for learning and development."]},"ai_bio":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ai Bio","default":false},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","examples":["12 Nowhere Avenue, Bognor Regis, West Sussex, BN72 0KK"]},"onboarding_viewed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Onboarding Viewed","default":false},"consent_newsletter":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Newsletter"},"consent_marketing":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Marketing"},"consent_system_emails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Consent System Emails","default":true},"consent_subscription_emails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Consent Subscription Emails","default":true},"opt_out_communities":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Opt Out Communities","default":[]},"opt_out_providers":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Opt Out Providers","default":[]},"noindex_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Noindex Enabled","default":true},"visibility":{"$ref":"#/components/schemas/User_Visibility","default":"Public"},"miscellaneous":{"anyOf":[{},{"type":"null"}],"title":"Miscellaneous","default":{}},"pipedrive_person_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pipedrive Person Id"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"},"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/User_Status"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"postal_address":{"anyOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}],"default":{}},"ranking":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ranking"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"last_seen":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen"},"first_badge_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Badge Id"},"created_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By Id"},"updated_by_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By Id"},"emails":{"anyOf":[{"items":{"$ref":"#/components/schemas/User_Email"},"type":"array"},{"type":"null"}],"title":"Emails"},"learning_styles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Learning Styles","examples":[["Seminar, Online Course"]]},"interests":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Interests","examples":[["Coding, Web Development, Engineering"]]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"keycloak_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Keycloak Id"},"consent_privacy":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Privacy"},"consent_terms":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Terms"},"consent_age":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Age"},"consent_supply_of_service":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Consent Supply Of Service"},"role":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Role"},"mfa_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mfa Enabled","default":false},"communities":{"anyOf":[{"items":{"$ref":"#/components/schemas/Community"},"type":"array"},{"type":"null"}],"title":"Communities"},"providers":{"anyOf":[{"items":{"$ref":"#/components/schemas/Provider"},"type":"array"},{"type":"null"}],"title":"Providers"},"admin_communities":{"anyOf":[{"items":{"$ref":"#/components/schemas/Community"},"type":"array"},{"type":"null"}],"title":"Admin Communities"},"admin_providers":{"anyOf":[{"items":{"$ref":"#/components/schemas/Provider"},"type":"array"},{"type":"null"}],"title":"Admin Providers"},"analyst_communities":{"anyOf":[{"items":{"$ref":"#/components/schemas/Community"},"type":"array"},{"type":"null"}],"title":"Analyst Communities"},"analyst_networks":{"anyOf":[{"items":{"$ref":"#/components/schemas/Network_Public"},"type":"array"},{"type":"null"}],"title":"Analyst Networks"},"analyst_providers":{"anyOf":[{"items":{"$ref":"#/components/schemas/Provider"},"type":"array"},{"type":"null"}],"title":"Analyst Providers"}},"type":"object","required":["emails"],"title":"User_Detail"},"User_Detail_Light":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"$ref":"#/components/schemas/User_Status"},"visibility":{"$ref":"#/components/schemas/User_Visibility","default":"Public"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","examples":["John"]},"lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname","examples":["Doe"]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://media.navigatr.app/avatar.webp"]},"avatar_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url 2X","examples":["https://media.navigatr.app/avatar_2x.webp"]},"avatar_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url Original","examples":["https://media.navigatr.app/avatar_original.webp"]},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"noindex_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Noindex Enabled","default":true}},"type":"object","required":["id","firstname","lastname"],"title":"User_Detail_Light"},"User_Detail_Private":{"properties":{"id":{"type":"integer","title":"Id"},"visibility":{"$ref":"#/components/schemas/User_Visibility","default":"Private"}},"type":"object","title":"User_Detail_Private"},"User_Detail_Public":{"properties":{"id":{"type":"integer","title":"Id"},"firstname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname","examples":["John"]},"lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname","examples":["Doe"]},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","examples":["https://media.navigatr.app/avatar.webp"]},"avatar_url_2x":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url 2X","examples":["https://media.navigatr.app/avatar_2x.webp"]},"avatar_url_original":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url Original","examples":["https://media.navigatr.app/avatar_original.webp"]},"interests":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Interests","default":[],"examples":[["Coding, Web Development, Engineering"]]},"noindex_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Noindex Enabled","default":true},"visibility":{"$ref":"#/components/schemas/User_Visibility","default":"Public"},"time_created":{"type":"string","format":"date-time","title":"Time Created"},"time_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Updated"},"seo_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seo Keywords"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"social_handle_linkedin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Linkedin"},"social_handle_twitter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Twitter"},"social_handle_facebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Facebook"},"social_handle_instagram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Handle Instagram"}},"type":"object","required":["firstname","lastname"],"title":"User_Detail_Public"},"User_Email":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"is_primary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Primary","default":false,"examples":[true]},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified","default":false,"examples":[true]},"verification_token_sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verification Token Sent At"},"user_id":{"type":"integer","title":"User Id"}},"type":"object","required":["email","user_id"],"title":"User_Email"},"User_Interest":{"properties":{"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Coding"]}},"type":"object","title":"User_Interest"},"User_Interest_Create":{"properties":{"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id","examples":[1]},"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"User_Interest_Create"},"User_Learning_Style":{"properties":{"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id","examples":[1]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","examples":["Online"]}},"type":"object","title":"User_Learning_Style"},"User_Learning_Style_Create":{"properties":{"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id","examples":[1]},"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"User_Learning_Style_Create"},"User_Status":{"type":"string","enum":["Active","Suspended","Deleted"],"title":"User_Status"},"User_Visibility":{"type":"string","enum":["Public","Private"],"title":"User_Visibility","description":"Who may see a user's human-readable public pages (profile, badge and pathway assertion).\n\nDeliberately NOT a User_Status value: a Private user is still Active, they can sign in,\nearn badges and be issued to exactly as before. Also independent of `noindex_enabled`,\nwhich only asks search engines not to index a page that stays publicly reachable.\nEnforced in crud_user_detail.can_read, so every existing \"view this user\" gate inherits it."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"app__api__api_v1__endpoints__badge_assertions__Deleted_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge assertion cannot be deleted"}},"type":"object","title":"Deleted_Model"},"app__api__api_v1__endpoints__badge_assertions__Unprocessable_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge assertion cannot be revoked"}},"type":"object","title":"Unprocessable_Model"},"app__api__api_v1__endpoints__badges__Deleted_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Deleted badge. Try restoring first"}},"type":"object","title":"Deleted_Model"},"app__api__api_v1__endpoints__badges__InActive_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Badge is not active"}},"type":"object","title":"InActive_Model"},"app__api__api_v1__endpoints__badges__Locked_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Locked badge. Wait for the initialisation to be completed"}},"type":"object","title":"Locked_Model"},"app__api__api_v1__endpoints__user_details__Deleted_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"User is deleted"}},"type":"object","title":"Deleted_Model"},"app__api__api_v1__endpoints__user_details__InActive_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"User is not active"}},"type":"object","title":"InActive_Model"},"app__core__exceptions__Locked_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Locked item"}},"type":"object","title":"Locked_Model"},"app__core__exceptions__Unprocessable_Model":{"properties":{"detail":{"type":"string","title":"Detail","default":"Unprocessable data"}},"type":"object","title":"Unprocessable_Model"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/v1/token"}}}}}}