{"success":true,"loginRequired":false,"value":{"version":"1.0","title":"zFairs AI Agent API","description":"API surface for AI agents that set up, run, and manage contest/fair events in zFairs Fair Management Service.","scope":"Event setup, configuration, and operational management only. Participant personal data is out of scope and must not be accessed via agent keys.","authentication":"Send the client-scoped agent API key as HTTP header X-Agent-Api-Key: {guid}, or as query string agentApiKey={guid}. Keys are created by event admins under Setup → Agent API Key Manager.","restrictions":["Do not read, write, or export participant, student, judge personal, medical, or registration PII.","Agent keys are limited to a single client (tenant).","All authenticated agent calls are written to the Agent API Call Log for admin review.","Revoked or inactive keys are rejected.","Write/config operations must pass fairId belonging to the authenticated client; unknown or other-client fairs are rejected.","ConfigForm type keys must pass the agent allowlist. Blocked types (api-key, agent-api-key, agent-api-call-log, invites, participants-removed, category-chairs, fair-results, archive-manager, etc.) always return Success=false."],"endpoints":[{"method":"GET","path":"/api/AgentApi/Help","name":"Help","description":"Public documentation of agent API structure and usage. No key required.","requiresAgentApiKey":false,"public":true,"exampleRequest":null,"exampleResponse":{"success":true,"value":{"version":"1.0","title":"zFairs AI Agent API"}}},{"method":"GET|POST","path":"/api/AgentApi/Ping","name":"Ping","description":"Validates an agent API key and records an audit log entry.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":{"success":true,"value":{"message":"pong","clientId":123}}},{"method":"GET","path":"/api/AgentApi/Status","name":"Status","description":"Returns non-participant client/event status for the authenticated agent (active events summary).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Events","name":"Events.List","description":"Lists all events/fairs for the client: fairId, name, active, schedule dates (fair/registration/judging/awards), and venue labels. No participant or contact PII.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":{"success":true,"value":{"clientId":123,"count":1,"events":[{"fairId":456,"name":"Sample Science Fair 2026","active":true,"fairStart":"2026-03-15T00:00:00","fairEnd":"2026-03-16T00:00:00"}]}}},{"method":"GET|POST","path":"/api/AgentApi/Events/Select","name":"Events.Select","description":"Resolves one client-owned event by fairId (int) or fairGuid. Returns the same non-PII summary as Events.List for that event. Unknown or other-client fairs fail with Success=false. Audit log records FairId. Use the returned fairId on subsequent fair-scoped write/config calls.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456},"exampleResponse":{"success":true,"value":{"clientId":123,"event":{"fairId":456,"name":"Sample Science Fair 2026","active":true},"note":"Event selected for fair-scoped work."}}},{"method":"GET","path":"/api/AgentApi/Allowlist","name":"Allowlist","description":"Returns agent-allowed ConfigForm type keys and explicitly blocked keys (credentials, audit logs, participant PII, people assignment, archive dumps). Unknown types fail closed; deny always wins. No participant data.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":{"success":true,"value":{"allowedCount":2,"blockedCount":2,"allowedTypeKeys":["category","pagestyle"],"blockedTypeKeys":["agent-api-key","invite"]}}},{"method":"GET|POST","path":"/api/AgentApi/Allowlist/Check","name":"Allowlist.Check","description":"Authorizes one ConfigForm type key for agent use (query type or typeKey). Blocked or unknown keys return Success=false with a clear message (403-style contract). Shared gate for later config handles.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"type":"category"},"exampleResponse":{"success":true,"value":{"typeKey":"category","allowed":true,"blocked":false}}},{"method":"GET","path":"/api/AgentApi/SetupConfigs","name":"SetupConfigs.List","description":"Lists non-PII Setup Wizard config definitions for a client-owned fair (query fairId or fairGuid). Returns PublicId, Key, name, configType, dataType. Session/complex/route-to and contact/PII-shaped fields are excluded.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456},"exampleResponse":{"success":true,"value":{"fairId":456,"count":1,"configs":[{"publicId":"00000000-0000-0000-0000-000000000001","key":"sample.setting","name":"Sample","configType":"fairSetting"}]}}},{"method":"GET","path":"/api/AgentApi/SetupConfigs/Item","name":"SetupConfigs.Get","description":"Gets one Setup Wizard config with current fair-scoped value by publicId or key (plus fairId). Theme/feature-flag keys outside pagestyle live here.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"key":"sample.setting"},"exampleResponse":{"success":true,"value":{"fairId":456,"config":{"key":"sample.setting","value":"true","dataType":"bool"}}}},{"method":"POST","path":"/api/AgentApi/SetupConfigs/Update","name":"SetupConfigs.Update","description":"Updates one or more Setup Wizard config values for a client-owned fair. Body: { fairId, values: [{ publicId|key, value }] } or single publicId/key + value. Archived clients rejected. File upload not supported (set existing asset paths for file-path-img).","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"key":"sample.setting","value":"true"},"exampleResponse":{"success":true,"value":{"fairId":456,"updatedCount":1}}},{"method":"GET","path":"/api/AgentApi/Categories","name":"Category.List","description":"Lists event taxonomy categories for a client-owned fair (query fairId or fairGuid). Returns id, name, type, description, color. No participant PII. Backed by ConfigCategoryManager (type keys category/categories).","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456},"exampleResponse":{"success":true,"value":{"fairId":456,"count":1,"items":[{"id":"12","name":"Biology","type":"category","description":"Life sciences"}]}}},{"method":"GET","path":"/api/AgentApi/Categories/Item","name":"Category.Get","description":"Gets full category form fields for one category id (plus fairId). Same field schema as admin ConfigForm for type category.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"id":"12"},"exampleResponse":{"success":true,"value":{"fairId":456,"id":"12","typeKey":"category","form":{"sections":[]}}}},{"method":"POST","path":"/api/AgentApi/Categories/Save","name":"Category.Save","description":"Creates or updates a category. Body: { fairId, id: \"-1\" for create or existing id, values: { category_name: [\"Name\"], category_short: [\"ABBR\"], ... } }. Delegates to ConfigCategoryManager.Save.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"id":"-1","values":{"category_name":["Biology"],"category_short":["BIO"]}},"exampleResponse":{"success":true,"value":{"fairId":456,"item":{"id":"12","name":"Biology"}}}},{"method":"POST","path":"/api/AgentApi/Categories/Remove","name":"Category.Remove","description":"Removes a category by id for a client-owned fair. Body: { fairId, id }. Delegates to ConfigCategoryManager.Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"id":"12"},"exampleResponse":{"success":true,"value":{"fairId":456,"item":{"id":"12","name":"Biology"}}}},{"method":"GET","path":"/api/AgentApi/SubCategories","name":"SubCategory.List","description":"Lists event taxonomy sub-categories for a client-owned fair (query fairId or fairGuid). Returns id, name, type, description, color. Parent-category aware (CategoryIdFilter). No participant PII. Backed by ConfigSubCategoryManager (type keys sub-category/sub-categories).","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456},"exampleResponse":{"success":true,"value":{"fairId":456,"count":1,"items":[{"id":"34","name":"Botany","type":"sub-category","description":"Plant sciences"}]}}},{"method":"GET","path":"/api/AgentApi/SubCategories/Item","name":"SubCategory.Get","description":"Gets full sub-category form fields for one id (plus fairId). Same field schema as admin ConfigForm for type sub-category (includes parent CategoryIdFilter).","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"id":"34"},"exampleResponse":{"success":true,"value":{"fairId":456,"id":"34","typeKey":"sub-category","form":{"sections":[]}}}},{"method":"POST","path":"/api/AgentApi/SubCategories/Save","name":"SubCategory.Save","description":"Creates or updates a sub-category. Body: { fairId, id: \"-1\" for create or existing id, values: { category_name: [\"Name\"], category_short: [\"AB\"], CategoryIdFilter: [\"12\"], ... } }. Delegates to ConfigSubCategoryManager.Save.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"id":"-1","values":{"category_name":["Botany"],"category_short":["BOT"],"categoryIdFilter":["12"]}},"exampleResponse":{"success":true,"value":{"fairId":456,"item":{"id":"34","name":"Botany"}}}},{"method":"POST","path":"/api/AgentApi/SubCategories/Remove","name":"SubCategory.Remove","description":"Removes a sub-category by id for a client-owned fair. Body: { fairId, id }. Delegates to ConfigSubCategoryManager.Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":{"fairId":456,"id":"34"},"exampleResponse":{"success":true,"value":{"fairId":456,"item":{"id":"34","name":"Botany"}}}},{"method":"GET","path":"/api/AgentApi/SubSubCategories","name":"SubSubCategory.List","description":"Lists sub-sub-categories for a client-owned fair. Type keys sub-sub-category/sub-sub-categories. ConfigSubSubCategoryManager. Full CRUD via Item/Save/Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SubSubCategories/Item","name":"SubSubCategory.Get","description":"Gets full sub-sub-category form fields (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SubSubCategories/Save","name":"SubSubCategory.Save","description":"Creates or updates a sub-sub-category. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SubSubCategories/Remove","name":"SubSubCategory.Remove","description":"Removes a sub-sub-category. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Divisions","name":"Division.List","description":"Lists divisions (type divisions). ConfigDivisionManager. Full CRUD via Item/Save/Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Divisions/Item","name":"Division.Get","description":"Gets one division form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Divisions/Save","name":"Division.Save","description":"Creates or updates a division. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Divisions/Remove","name":"Division.Remove","description":"Removes a division. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/EntryTypes","name":"EntryType.List","description":"Lists entry types (entry-types/entry-type). ConfigEntryTypeManager. Full CRUD via Item/Save/Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/EntryTypes/Item","name":"EntryType.Get","description":"Gets one entry type form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/EntryTypes/Save","name":"EntryType.Save","description":"Creates or updates an entry type. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/EntryTypes/Remove","name":"EntryType.Remove","description":"Removes an entry type. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/EventSessions","name":"EventSession.List","description":"Lists event session shells (event-sessions). Schedule shells only; no attendee rosters. ConfigEventSessionsManager.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/EventSessions/Item","name":"EventSession.Get","description":"Gets one event session form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/EventSessions/Save","name":"EventSession.Save","description":"Creates or updates an event session shell. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/EventSessions/Remove","name":"EventSession.Remove","description":"Removes an event session shell. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SessionJudges","name":"SessionJudge.List","description":"Lists judge session shells (session-judge). No attendee rosters. ConfigSessionsManager.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SessionJudges/Item","name":"SessionJudge.Get","description":"Gets one session-judge form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SessionJudges/Save","name":"SessionJudge.Save","description":"Creates or updates a session-judge shell. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SessionJudges/Remove","name":"SessionJudge.Remove","description":"Removes a session-judge shell. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SessionVolunteers","name":"SessionVolunteer.List","description":"Lists volunteer session shells (session-volunteer). No attendee rosters. ConfigSessionsManager.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SessionVolunteers/Item","name":"SessionVolunteer.Get","description":"Gets one session-volunteer form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SessionVolunteers/Save","name":"SessionVolunteer.Save","description":"Creates or updates a session-volunteer shell. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SessionVolunteers/Remove","name":"SessionVolunteer.Remove","description":"Removes a session-volunteer shell. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Tags","name":"Tag.List","description":"Lists tag definitions (tags). Not person assignments. ConfigTagsManager. Full CRUD via Item/Save/Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Tags/Item","name":"Tag.Get","description":"Gets one tag definition form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Tags/Save","name":"Tag.Save","description":"Creates or updates a tag definition. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Tags/Remove","name":"Tag.Remove","description":"Removes a tag definition. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Schedules","name":"Schedule.List","description":"Lists public schedule items (schedule). ScheduleManager. Full CRUD via Item/Save/Remove.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Schedules/Item","name":"Schedule.Get","description":"Gets one schedule item form (fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Schedules/Save","name":"Schedule.Save","description":"Creates or updates a schedule item. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Schedules/Remove","name":"Schedule.Remove","description":"Removes a schedule item. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/PageStyles","name":"PageStyle.List","description":"Lists Basic Site Style config (pagestyle). get/update via Item/Save.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Pages","name":"Page.List","description":"Site pages full CRUD under /api/AgentApi/Pages*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SystemTexts","name":"SystemText.List","description":"System labels/copy (text) full CRUD under /api/AgentApi/SystemTexts*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ImportantLinks","name":"ImportantLink.List","description":"Important links full CRUD under /api/AgentApi/ImportantLinks*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ImportantLocations","name":"ImportantLocation.List","description":"Important locations full CRUD under /api/AgentApi/ImportantLocations*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ClientFiles","name":"ClientFile.List","description":"Client files/logos metadata under /api/AgentApi/ClientFiles*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SlideShows","name":"SlideShow.List","description":"Slideshows under /api/AgentApi/SlideShows* (optional subtype).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/PhotoBoothObjects","name":"PhotoBoothObject.List","description":"Photo booth assets under /api/AgentApi/PhotoBoothObjects*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingBase","name":"JudgingBase.List","description":"Base judging setup (judging) list/get/update under /api/AgentApi/JudgingBase*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRounds","name":"JudgingRound.List","description":"Judging rounds full CRUD under /api/AgentApi/JudgingRounds*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubrics","name":"JudgingRubric.List","description":"Judging rubrics under /api/AgentApi/JudgingRubrics*. Nested: JudgingRubricCategories|Assessments|QuickComments (rubricId required).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/AutoPlop","name":"AutoPlop.List","description":"Auto-plop config get/update under /api/AgentApi/AutoPlop*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SrcIrb","name":"SrcIrb.List","description":"SRC/IRB process config under /api/AgentApi/SrcIrb*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Awards","name":"Award.List","description":"Awards + SpecialAwards + SpecialAwardDonors under /api/AgentApi/Awards*, SpecialAwards*, SpecialAwardDonors*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Requirements","name":"Requirement.List","description":"Requirement definitions under /api/AgentApi/Requirements*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Paperwork","name":"Paperwork.List","description":"Paperwork templates under /api/AgentApi/Paperwork*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/CustomQuestions","name":"CustomQuestions.List","description":"Custom question schemas; query type= custom-questions* variant. Full CRUD under /api/AgentApi/CustomQuestions*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Schools","name":"School.List","description":"Schools/districts/sponsors/affiliates under Schools*, SchoolDistricts*, Sponsors*, Affiliates*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Ecommerce","name":"Ecommerce.List","description":"Ecommerce/coupons/shirt-sizes under Ecommerce*, Coupons*, ShirtSizes*. No payment PII.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/InvoiceAddress","name":"InvoiceAddress.List","description":"Org billing address get/update under /api/AgentApi/InvoiceAddress*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/AltCheckoutMethods","name":"AltCheckoutMethod.List","description":"Payment method options (not cards) under /api/AgentApi/AltCheckoutMethods*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexFlows","name":"FlexFlow.List","description":"Flex structure: FlexFlows*, FlexPages*, FlexSections*, FlexContents*, FlexFlowInstructions*, FlexFeeInstructions*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/PasswordRequirements","name":"PasswordRequirements.List","description":"Password policy only under /api/AgentApi/PasswordRequirements*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ArchiveSearch","name":"ArchiveSearch.List","description":"Archive search config (not person dump) under /api/AgentApi/ArchiveSearch*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ActionLogs","name":"ActionLog.List","description":"Action log metadata list/get only under /api/AgentApi/ActionLogs*.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/PageStyles/Item","name":"PageStyle.Get","description":"Gets PageStyle (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/PageStyles/Save","name":"PageStyle.Save","description":"Updates PageStyle. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Pages/Item","name":"Page.Get","description":"Gets one Page form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Pages/Save","name":"Page.Save","description":"Creates or updates Page. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Pages/Remove","name":"Page.Remove","description":"Removes Page. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SystemTexts/Item","name":"SystemText.Get","description":"Gets one SystemText form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SystemTexts/Save","name":"SystemText.Save","description":"Creates or updates SystemText. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SystemTexts/Remove","name":"SystemText.Remove","description":"Removes SystemText. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ImportantLinks/Item","name":"ImportantLink.Get","description":"Gets one ImportantLink form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ImportantLinks/Save","name":"ImportantLink.Save","description":"Creates or updates ImportantLink. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ImportantLinks/Remove","name":"ImportantLink.Remove","description":"Removes ImportantLink. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ImportantLocations/Item","name":"ImportantLocation.Get","description":"Gets one ImportantLocation form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ImportantLocations/Save","name":"ImportantLocation.Save","description":"Creates or updates ImportantLocation. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ImportantLocations/Remove","name":"ImportantLocation.Remove","description":"Removes ImportantLocation. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ClientFiles/Item","name":"ClientFile.Get","description":"Gets one ClientFile form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ClientFiles/Save","name":"ClientFile.Save","description":"Creates or updates ClientFile. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ClientFiles/Remove","name":"ClientFile.Remove","description":"Removes ClientFile. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SlideShows/Item","name":"SlideShow.Get","description":"Gets one SlideShow form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SlideShows/Save","name":"SlideShow.Save","description":"Creates or updates SlideShow. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SlideShows/Remove","name":"SlideShow.Remove","description":"Removes SlideShow. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/PhotoBoothObjects/Item","name":"PhotoBoothObject.Get","description":"Gets one PhotoBoothObject form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/PhotoBoothObjects/Save","name":"PhotoBoothObject.Save","description":"Creates or updates PhotoBoothObject. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/PhotoBoothObjects/Remove","name":"PhotoBoothObject.Remove","description":"Removes PhotoBoothObject. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingBase/Item","name":"JudgingBase.Get","description":"Gets JudgingBase (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingBase/Save","name":"JudgingBase.Save","description":"Updates JudgingBase. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRounds/Item","name":"JudgingRound.Get","description":"Gets one JudgingRound form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRounds/Save","name":"JudgingRound.Save","description":"Creates or updates JudgingRound. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRounds/Remove","name":"JudgingRound.Remove","description":"Removes JudgingRound. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubrics/Item","name":"JudgingRubric.Get","description":"Gets one JudgingRubric form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubrics/Save","name":"JudgingRubric.Save","description":"Creates or updates JudgingRubric. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubrics/Remove","name":"JudgingRubric.Remove","description":"Removes JudgingRubric. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubricCategories","name":"JudgingRubricCategory.List","description":"Lists JudgingRubricCategory. Type judging-rubric-category:{rubricId}. Requires rubricId.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubricCategories/Item","name":"JudgingRubricCategory.Get","description":"Gets one JudgingRubricCategory form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubricCategories/Save","name":"JudgingRubricCategory.Save","description":"Creates or updates JudgingRubricCategory. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubricCategories/Remove","name":"JudgingRubricCategory.Remove","description":"Removes JudgingRubricCategory. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubricAssessments","name":"JudgingRubricAssessment.List","description":"Lists JudgingRubricAssessment. Type judging-rubric-category-assessments:{rubricId}:{sectionId}. Requires rubricId+sectionId.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubricAssessments/Item","name":"JudgingRubricAssessment.Get","description":"Gets one JudgingRubricAssessment form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubricAssessments/Save","name":"JudgingRubricAssessment.Save","description":"Creates or updates JudgingRubricAssessment. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubricAssessments/Remove","name":"JudgingRubricAssessment.Remove","description":"Removes JudgingRubricAssessment. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubricQuickComments","name":"JudgingRubricQuickComment.List","description":"Lists JudgingRubricQuickComment. Type judging-rubric-quick-comments:{rubricId}. Requires rubricId.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/JudgingRubricQuickComments/Item","name":"JudgingRubricQuickComment.Get","description":"Gets one JudgingRubricQuickComment form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubricQuickComments/Save","name":"JudgingRubricQuickComment.Save","description":"Creates or updates JudgingRubricQuickComment. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/JudgingRubricQuickComments/Remove","name":"JudgingRubricQuickComment.Remove","description":"Removes JudgingRubricQuickComment. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/AutoPlop/Item","name":"AutoPlop.Get","description":"Gets AutoPlop (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/AutoPlop/Save","name":"AutoPlop.Save","description":"Updates AutoPlop. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SrcIrb/Item","name":"SrcIrb.Get","description":"Gets one SrcIrb form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SrcIrb/Save","name":"SrcIrb.Save","description":"Creates or updates SrcIrb. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SrcIrb/Remove","name":"SrcIrb.Remove","description":"Removes SrcIrb. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Awards/Item","name":"Award.Get","description":"Gets one Award form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Awards/Save","name":"Award.Save","description":"Creates or updates Award. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Awards/Remove","name":"Award.Remove","description":"Removes Award. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SpecialAwards","name":"SpecialAward.List","description":"Lists SpecialAward. Type awards-special.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SpecialAwards/Item","name":"SpecialAward.Get","description":"Gets one SpecialAward form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SpecialAwards/Save","name":"SpecialAward.Save","description":"Creates or updates SpecialAward. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SpecialAwards/Remove","name":"SpecialAward.Remove","description":"Removes SpecialAward. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SpecialAwardDonors","name":"SpecialAwardDonor.List","description":"Lists SpecialAwardDonor. Type awards-special-donors.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SpecialAwardDonors/Item","name":"SpecialAwardDonor.Get","description":"Gets one SpecialAwardDonor form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SpecialAwardDonors/Save","name":"SpecialAwardDonor.Save","description":"Creates or updates SpecialAwardDonor. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SpecialAwardDonors/Remove","name":"SpecialAwardDonor.Remove","description":"Removes SpecialAwardDonor. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Requirements/Item","name":"Requirement.Get","description":"Gets one Requirement form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Requirements/Save","name":"Requirement.Save","description":"Creates or updates Requirement. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Requirements/Remove","name":"Requirement.Remove","description":"Removes Requirement. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Paperwork/Item","name":"Paperwork.Get","description":"Gets one Paperwork form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Paperwork/Save","name":"Paperwork.Save","description":"Creates or updates Paperwork. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Paperwork/Remove","name":"Paperwork.Remove","description":"Removes Paperwork. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/CustomQuestions/Item","name":"CustomQuestions.Get","description":"Gets one CustomQuestions form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/CustomQuestions/Save","name":"CustomQuestions.Save","description":"Creates or updates CustomQuestions. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/CustomQuestions/Remove","name":"CustomQuestions.Remove","description":"Removes CustomQuestions. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Schools/Item","name":"School.Get","description":"Gets one School form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Schools/Save","name":"School.Save","description":"Creates or updates School. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Schools/Remove","name":"School.Remove","description":"Removes School. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SchoolDistricts","name":"SchoolDistrict.List","description":"Lists SchoolDistrict. Type school-districts.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/SchoolDistricts/Item","name":"SchoolDistrict.Get","description":"Gets one SchoolDistrict form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SchoolDistricts/Save","name":"SchoolDistrict.Save","description":"Creates or updates SchoolDistrict. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/SchoolDistricts/Remove","name":"SchoolDistrict.Remove","description":"Removes SchoolDistrict. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Sponsors","name":"Sponsor.List","description":"Lists Sponsor. Type sponsors.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Sponsors/Item","name":"Sponsor.Get","description":"Gets one Sponsor form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Sponsors/Save","name":"Sponsor.Save","description":"Creates or updates Sponsor. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Sponsors/Remove","name":"Sponsor.Remove","description":"Removes Sponsor. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Affiliates","name":"Affiliate.List","description":"Lists Affiliate. Type affiliate.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Affiliates/Item","name":"Affiliate.Get","description":"Gets one Affiliate form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Affiliates/Save","name":"Affiliate.Save","description":"Creates or updates Affiliate. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Affiliates/Remove","name":"Affiliate.Remove","description":"Removes Affiliate. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Ecommerce/Item","name":"Ecommerce.Get","description":"Gets one Ecommerce form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Ecommerce/Save","name":"Ecommerce.Save","description":"Creates or updates Ecommerce. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Ecommerce/Remove","name":"Ecommerce.Remove","description":"Removes Ecommerce. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Coupons","name":"Coupon.List","description":"Lists Coupon. Type coupons.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/Coupons/Item","name":"Coupon.Get","description":"Gets one Coupon form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Coupons/Save","name":"Coupon.Save","description":"Creates or updates Coupon. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/Coupons/Remove","name":"Coupon.Remove","description":"Removes Coupon. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ShirtSizes","name":"ShirtSize.List","description":"Lists ShirtSize. Type shirt-sizes.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ShirtSizes/Item","name":"ShirtSize.Get","description":"Gets one ShirtSize form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ShirtSizes/Save","name":"ShirtSize.Save","description":"Creates or updates ShirtSize. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ShirtSizes/Remove","name":"ShirtSize.Remove","description":"Removes ShirtSize. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/InvoiceAddress/Item","name":"InvoiceAddress.Get","description":"Gets InvoiceAddress (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/InvoiceAddress/Save","name":"InvoiceAddress.Save","description":"Updates InvoiceAddress. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/AltCheckoutMethods/Item","name":"AltCheckoutMethod.Get","description":"Gets AltCheckoutMethod (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/AltCheckoutMethods/Save","name":"AltCheckoutMethod.Save","description":"Updates AltCheckoutMethod. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexFlows/Item","name":"FlexFlow.Get","description":"Gets one FlexFlow form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexFlows/Save","name":"FlexFlow.Save","description":"Creates or updates FlexFlow. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexFlows/Remove","name":"FlexFlow.Remove","description":"Removes FlexFlow. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexPages","name":"FlexPage.List","description":"Lists FlexPage. Type flex-page.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexPages/Item","name":"FlexPage.Get","description":"Gets one FlexPage form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexPages/Save","name":"FlexPage.Save","description":"Creates or updates FlexPage. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexPages/Remove","name":"FlexPage.Remove","description":"Removes FlexPage. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexSections","name":"FlexSection.List","description":"Lists FlexSection. Type flex-section.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexSections/Item","name":"FlexSection.Get","description":"Gets one FlexSection form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexSections/Save","name":"FlexSection.Save","description":"Creates or updates FlexSection. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexSections/Remove","name":"FlexSection.Remove","description":"Removes FlexSection. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexContents","name":"FlexContent.List","description":"Lists FlexContent. Type flex-content.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexContents/Item","name":"FlexContent.Get","description":"Gets one FlexContent form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexContents/Save","name":"FlexContent.Save","description":"Creates or updates FlexContent. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexContents/Remove","name":"FlexContent.Remove","description":"Removes FlexContent. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexFlowInstructions","name":"FlexFlowInstructions.List","description":"Lists FlexFlowInstructions. Type flex-flow-instructions.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexFlowInstructions/Item","name":"FlexFlowInstructions.Get","description":"Gets one FlexFlowInstructions form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexFlowInstructions/Save","name":"FlexFlowInstructions.Save","description":"Creates or updates FlexFlowInstructions. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexFlowInstructions/Remove","name":"FlexFlowInstructions.Remove","description":"Removes FlexFlowInstructions. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexFeeInstructions","name":"FlexFeeInstructions.List","description":"Lists FlexFeeInstructions. Type flex-fee-instructions.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/FlexFeeInstructions/Item","name":"FlexFeeInstructions.Get","description":"Gets one FlexFeeInstructions form (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexFeeInstructions/Save","name":"FlexFeeInstructions.Save","description":"Creates or updates FlexFeeInstructions. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/FlexFeeInstructions/Remove","name":"FlexFeeInstructions.Remove","description":"Removes FlexFeeInstructions. Body: { fairId, id }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/PasswordRequirements/Item","name":"PasswordRequirements.Get","description":"Gets PasswordRequirements (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/PasswordRequirements/Save","name":"PasswordRequirements.Save","description":"Updates PasswordRequirements. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ArchiveSearch/Item","name":"ArchiveSearch.Get","description":"Gets ArchiveSearch (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"POST","path":"/api/AgentApi/ArchiveSearch/Save","name":"ArchiveSearch.Save","description":"Updates ArchiveSearch. Body: { fairId, id, values }.","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null},{"method":"GET","path":"/api/AgentApi/ActionLogs/Item","name":"ActionLog.Get","description":"Gets ActionLog (query fairId + id).","requiresAgentApiKey":true,"public":false,"exampleRequest":null,"exampleResponse":null}],"resources":[{"name":"AgentApiKey","description":"Client-scoped credential for agents. Managed in the app under Setup → Agent API Key Manager (/app/setup/agent-api-key). Not manageable via agent keys (blocked type agent-api-key).","allowedOperations":["create","update","deactivate","list (admin UI)"],"forbidden":["participant data access","agent API access to this resource"]},{"name":"AgentApiCallLog","description":"Immutable activity/modification audit trail of agent key usage. Review at /app/setup/agent-api-call-log. FairId is set when a call has fair context. Not manageable via agent keys (blocked type agent-api-call-log).","allowedOperations":["list","view detail (admin UI)"],"forbidden":["delete","edit","agent API access to this resource"]},{"name":"Event","description":"Client fair/event shells. List returns non-PII identifiers, names, active flag, and schedule dates. Select resolves one owned fair and scopes subsequent setup handles (categories, sessions, etc.). Write/config ops must pass fairId belonging to the client.","allowedOperations":["list","select"],"forbidden":["participants","medical","payment PII","personal contact lists","director/contact person fields"]},{"name":"ConfigTypeAllowlist","description":"Server map of ConfigForm type keys agents may use. Discovery: GET /api/AgentApi/Allowlist. Gate: GET /api/AgentApi/Allowlist/Check?type={key}. Blocked: api-key, agent-api-key, agent-api-call-log, participants-removed, invite/invites, category-chairs, fair-results, archive-manager.","allowedOperations":["list","check"],"forbidden":["raw ConfigForm passthrough for blocked types","agent key or call-log management","participant PII types"]},{"name":"SetupConfig","description":"Setup Wizard keys (bit flags, fairSetting, table-column, fairBigText) for event theming/feature flags outside ConfigForm types. List/Get/Update by PublicId or Key with fairId. Includes modern theme keys that live outside pagestyle.","allowedOperations":["list","get","update"],"forbidden":["session configs","complex/route-to actions","contact email/phone/person columns","participant PII","multipart file upload (use existing asset paths)"]},{"name":"Category","description":"Event taxonomy root categories (ConfigForm type category/categories). List/get/create/update/remove via /api/AgentApi/Categories* with fairId. Thin wrapper over ConfigCategoryManager — no participant rosters or category-chair people assignment.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","category-chairs people assignment","raw ConfigForm passthrough for blocked types"]},{"name":"SubCategory","description":"Event taxonomy sub-categories under a parent category (ConfigForm type sub-category/sub-categories). List/get/create/update/remove via /api/AgentApi/SubCategories* with fairId. Thin wrapper over ConfigSubCategoryManager — parent via CategoryIdFilter; no participant rosters.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","category-chairs people assignment","raw ConfigForm passthrough for blocked types"]},{"name":"SubSubCategory","description":"Event taxonomy sub-sub-categories (sub-sub-category/sub-sub-categories). /api/AgentApi/SubSubCategories*. ConfigSubSubCategoryManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"Division","description":"Event divisions (divisions). /api/AgentApi/Divisions*. ConfigDivisionManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"EntryType","description":"Entry types (entry-types/entry-type). /api/AgentApi/EntryTypes*. ConfigEntryTypeManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"EventSession","description":"Event session shells (event-sessions). /api/AgentApi/EventSessions*. Schedule shells only; no attendee rosters. ConfigEventSessionsManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","attendee rosters"]},{"name":"SessionJudge","description":"Judge session shells (session-judge). /api/AgentApi/SessionJudges*. No attendee rosters. ConfigSessionsManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","attendee rosters"]},{"name":"SessionVolunteer","description":"Volunteer session shells (session-volunteer). /api/AgentApi/SessionVolunteers*. No attendee rosters. ConfigSessionsManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","attendee rosters"]},{"name":"Tag","description":"Tag definitions only (tags), not person assignments. /api/AgentApi/Tags*. ConfigTagsManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["person tag assignments","participant PII"]},{"name":"Schedule","description":"Public schedule items (schedule). /api/AgentApi/Schedules*. ScheduleManager.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"PageStyle","description":"Basic Site Style (pagestyle). /api/AgentApi/PageStyles*. get/update (NoAdd). Colors, gradient, texture, custom CSS.","allowedOperations":["list","get","update"],"forbidden":["participant PII"]},{"name":"Page","description":"Site pages (pages). /api/AgentApi/Pages*. Full CRUD.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","person-tag assignment dumps"]},{"name":"SystemText","description":"Labels/copy (text). /api/AgentApi/SystemTexts*. Full CRUD.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"ImportantLink","description":"Important links (links). /api/AgentApi/ImportantLinks*. Full CRUD.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"ImportantLocation","description":"Important locations (locations). /api/AgentApi/ImportantLocations*. Full CRUD.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"ClientFile","description":"Client files/logos (client-files). /api/AgentApi/ClientFiles*. Metadata Save; multipart upload not agent yet.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII","multipart file body (use paths)"]},{"name":"SlideShow","description":"Slideshows (slideshows[:subtype]). /api/AgentApi/SlideShows*. Full CRUD.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"PhotoBoothObject","description":"Photo booth assets (photo-booth-obj). /api/AgentApi/PhotoBoothObjects*. Full CRUD.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"JudgingBase","description":"Base judging setup (judging). /api/AgentApi/JudgingBase*. list/get/update.","allowedOperations":["list","get","update"],"forbidden":["participant PII"]},{"name":"JudgingRound","description":"Judging rounds (judging-rounds). /api/AgentApi/JudgingRounds*. Prefer tags by id; no person emails.","allowedOperations":["list","get","create","update","remove"],"forbidden":["person email lists","participant PII"]},{"name":"JudgingRubric","description":"Judging rubrics (judging-rubric). /api/AgentApi/JudgingRubrics*. Nested children require rubricId.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"JudgingRubricCategory","description":"Nested rubric categories (judging-rubric-category:{rubricId}). /api/AgentApi/JudgingRubricCategories*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"JudgingRubricAssessment","description":"Nested assessments (judging-rubric-category-assessments:{rubricId}:{sectionId}). /api/AgentApi/JudgingRubricAssessments*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"JudgingRubricQuickComment","description":"Nested quick comments (judging-rubric-quick-comments:{rubricId}). /api/AgentApi/JudgingRubricQuickComments*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"AutoPlop","description":"Auto-plop config (auto-plop/judging-plop). /api/AgentApi/AutoPlop*. Config only; no assignment dumps.","allowedOperations":["list","get","update"],"forbidden":["assignment dumps","participant PII"]},{"name":"SrcIrb","description":"SRC/IRB process config (src-irb). /api/AgentApi/SrcIrb*. Not case PII.","allowedOperations":["list","get","create","update","remove"],"forbidden":["case PII","participant PII"]},{"name":"Award","description":"Award definitions (awards). /api/AgentApi/Awards*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"SpecialAward","description":"Special awards (awards-special). /api/AgentApi/SpecialAwards*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"SpecialAwardDonor","description":"Special award donors (awards-special-donors). /api/AgentApi/SpecialAwardDonors*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"Requirement","description":"Requirement definitions (requirements). /api/AgentApi/Requirements*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"Paperwork","description":"Paperwork templates (paperwork). /api/AgentApi/Paperwork*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"CustomQuestions","description":"Custom question schemas (custom-questions* variants via type query/body). /api/AgentApi/CustomQuestions*. Schema only.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant answers","participant PII"]},{"name":"School","description":"Schools (schools). /api/AgentApi/Schools*. Org records; no student lists.","allowedOperations":["list","get","create","update","remove"],"forbidden":["student lists","participant PII"]},{"name":"SchoolDistrict","description":"School districts (school-districts). /api/AgentApi/SchoolDistricts*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"Sponsor","description":"Sponsors (sponsors). /api/AgentApi/Sponsors*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"Affiliate","description":"Affiliates (affiliate). /api/AgentApi/Affiliates*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"Ecommerce","description":"Ecommerce catalog (ecommerce). /api/AgentApi/Ecommerce*. No payment PII.","allowedOperations":["list","get","create","update","remove"],"forbidden":["payment PII","card data"]},{"name":"Coupon","description":"Coupons (coupons). /api/AgentApi/Coupons*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"ShirtSize","description":"Shirt sizes (shirt-sizes). /api/AgentApi/ShirtSizes*.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"InvoiceAddress","description":"Org billing address (invoiceaddress). /api/AgentApi/InvoiceAddress*. get/update.","allowedOperations":["list","get","update"],"forbidden":["payment instruments","card data"]},{"name":"AltCheckoutMethod","description":"Alt checkout method options (altcheckoutmethod). /api/AgentApi/AltCheckoutMethods*. get/update. Not card data.","allowedOperations":["list","get","update"],"forbidden":["card data","payment PII"]},{"name":"FlexFlow","description":"Flex flows and children: FlexFlows/FlexPages/FlexSections/FlexContents/FlexFlowInstructions/FlexFeeInstructions. Structure + copy only.","allowedOperations":["list","get","create","update","remove"],"forbidden":["participant PII"]},{"name":"PasswordRequirements","description":"Password policy (passwordrequirements). /api/AgentApi/PasswordRequirements*. Policy only — not user passwords.","allowedOperations":["list","get","update"],"forbidden":["user passwords","participant PII"]},{"name":"ArchiveSearch","description":"Archive search config (archive-search). /api/AgentApi/ArchiveSearch*. Config only; not archive person dump.","allowedOperations":["list","get","update"],"forbidden":["archive person dump","participant PII"]},{"name":"ActionLog","description":"Action log metadata (action-log). /api/AgentApi/ActionLogs*. list/get only; optional.","allowedOperations":["list","get"],"forbidden":["write","delete","participant PII"]}],"headers":{"x-Agent-Api-Key":"Required for authenticated endpoints. Value is the Agent API key GUID.","content-Type":"application/json for POST bodies."},"responseContract":"Every response is ResponseModel<T>: { success: bool, loginRequired: bool, value: T, message: string, goTo: string, truth: string }.","auditTrail":"Authenticated calls are logged (method, endpoint, action, success, summary, IP, user-agent, duration, fairId when known). Admins review logs at Setup → Agent API Call Log (/app/setup/agent-api-call-log)."},"message":null,"goTo":null,"truth":null}