# Get account Source: https://docs.awardforce.com/api-reference/account/get-account /api-reference/openapi-v2_3.yaml get /account Get the account associated with the API key. # Assignment completed Source: https://docs.awardforce.com/api-reference/assignments/assignment-completed /api-reference/openapi-v2_3.yaml webhook assignment-completed # Assignment created Source: https://docs.awardforce.com/api-reference/assignments/assignment-created /api-reference/openapi-v2_3.yaml webhook assignment-created # Create assignment Source: https://docs.awardforce.com/api-reference/assignments/create-assignment /api-reference/openapi-v2_3.yaml post /assignment Create a new assignment. # Delete assignment Source: https://docs.awardforce.com/api-reference/assignments/delete-assignment /api-reference/openapi-v2_3.yaml delete /assignment/{assignment_slug} Delete the assignment identified by the specified slug. Only assignments with `method` of `manual` or `random` can be deleted. Other methods (`automatic`, `stray`, `recused`) return `422`. # Get assignment Source: https://docs.awardforce.com/api-reference/assignments/get-assignment /api-reference/openapi-v2_3.yaml get /assignment/{assignment_slug} Get the assignment identified by the specified slug. # List assignments Source: https://docs.awardforce.com/api-reference/assignments/list-assignments /api-reference/openapi-v2_3.yaml get /assignment List assignments that match the specified filters. # Recuse assignment Source: https://docs.awardforce.com/api-reference/assignments/recuse-assignment /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/recuse Recuse a judge from the assignment for the specified entry. # Unrecuse assignment Source: https://docs.awardforce.com/api-reference/assignments/unrecuse-assignment /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/unrecuse Remove a judge recusal from the assignment for the specified entry. # Create attachment Source: https://docs.awardforce.com/api-reference/attachments/create-attachment /api-reference/openapi-v2_3.yaml post /entry/{entry_slug}/attachment/{tab_slug} Create an attachment on the specified entry under the specified tab. The tab must be of type `Attachments`; tabs of other types are rejected. Attachment fields are linked to the attachment and are distinct from form fields. If the attachment has no attachment fields, you can omit `attachment_fields` from the request body. The uploaded file is validated and stored before the response is returned; the attachment itself is finalized shortly after. A `GET` on the returned `Location` immediately after the `201` may briefly return a response with a `null` body until finalization is complete. # Delete attachment Source: https://docs.awardforce.com/api-reference/attachments/delete-attachment /api-reference/openapi-v2_3.yaml delete /attachment/{token} Delete the attachment identified by the specified token. Unknown tokens return `400 Bad Request`. # Get attachment Source: https://docs.awardforce.com/api-reference/attachments/get-attachment /api-reference/openapi-v2_3.yaml get /attachment/{token} Get the attachment identified by the specified token. Unknown tokens return `400 Bad Request`. # List attachments Source: https://docs.awardforce.com/api-reference/attachments/list-attachments /api-reference/openapi-v2_3.yaml get /attachment List attachments. # Update attachment Source: https://docs.awardforce.com/api-reference/attachments/update-attachment /api-reference/openapi-v2_3.yaml put /attachment/{token} Update the attachment identified by the specified token. Every property in the request body is optional; only properties that are supplied are written. Properties that are omitted retain their current value. On success the response carries the post-update attachment representation. Attachment fields are linked to the attachment and are distinct from form fields. If the attachment has no attachment fields, you can omit `attachment_fields` from the request body. # Create category Source: https://docs.awardforce.com/api-reference/categories/create-category /api-reference/openapi-v2_3.yaml post /category Create a category. # Delete category Source: https://docs.awardforce.com/api-reference/categories/delete-category /api-reference/openapi-v2_3.yaml delete /category/{category_slug} Delete the category identified by the specified slug. Any child categories are not deleted. They move up one level in the hierarchy to take the place of the deleted category. # Get category Source: https://docs.awardforce.com/api-reference/categories/get-category /api-reference/openapi-v2_3.yaml get /category/{category_slug} Get the category identified by the specified slug. The response includes all category fields. Images include a download link. # List categories Source: https://docs.awardforce.com/api-reference/categories/list-categories /api-reference/openapi-v2_3.yaml get /category List categories. # Update category Source: https://docs.awardforce.com/api-reference/categories/update-category /api-reference/openapi-v2_3.yaml put /category/{category_slug} Update the category identified by the specified slug. # Upload category file Source: https://docs.awardforce.com/api-reference/categories/upload-category-file /api-reference/openapi-v2_3.yaml post /category/{category_slug}/upload Upload a file for the category identified by the specified slug. Use this operation to upload a category image. The uploaded file is validated and stored before the response is returned; the image itself is processed shortly after. A `GET` on the returned `Location` immediately after the `201` may briefly return a response with a `null` body until processing is complete. # Create chapter Source: https://docs.awardforce.com/api-reference/chapters/create-chapter /api-reference/openapi-v2_3.yaml post /chapter Create a chapter. # Delete chapter Source: https://docs.awardforce.com/api-reference/chapters/delete-chapter /api-reference/openapi-v2_3.yaml delete /chapter/{chapter_slug} Delete the chapter identified by the specified slug. # Get chapter Source: https://docs.awardforce.com/api-reference/chapters/get-chapter /api-reference/openapi-v2_3.yaml get /chapter/{chapter_slug} Get the chapter identified by the specified slug. # List chapters Source: https://docs.awardforce.com/api-reference/chapters/list-chapters /api-reference/openapi-v2_3.yaml get /chapter List chapters. # Update chapter Source: https://docs.awardforce.com/api-reference/chapters/update-chapter /api-reference/openapi-v2_3.yaml put /chapter/{chapter_slug} Update the chapter identified by the specified slug. # Upload chapter file Source: https://docs.awardforce.com/api-reference/chapters/upload-chapter-file /api-reference/openapi-v2_3.yaml post /chapter/{chapter_slug}/upload Upload a file for the chapter identified by the specified slug. Use this operation to upload a chapter image. The uploaded file is validated and stored before the response is returned; the image itself is processed shortly after. A `GET` on the returned `Location` immediately after the `201` may briefly return a response with a `null` body until processing is complete. # Create contributor Source: https://docs.awardforce.com/api-reference/contributors/create-contributor /api-reference/openapi-v2_3.yaml post /contributor Create a contributor. # Delete contributor Source: https://docs.awardforce.com/api-reference/contributors/delete-contributor /api-reference/openapi-v2_3.yaml delete /contributor/{contributor_slug} Delete the contributor identified by the specified slug. # Get contributor Source: https://docs.awardforce.com/api-reference/contributors/get-contributor /api-reference/openapi-v2_3.yaml get /contributor/{contributor_slug} Get the contributor identified by the specified slug. # List contributors Source: https://docs.awardforce.com/api-reference/contributors/list-contributors /api-reference/openapi-v2_3.yaml get /contributor List contributors. # Update contributor Source: https://docs.awardforce.com/api-reference/contributors/update-contributor /api-reference/openapi-v2_3.yaml put /contributor/{contributor_slug} Update the contributor identified by the specified slug. # Create document Source: https://docs.awardforce.com/api-reference/documents/create-document /api-reference/openapi-v2_3.yaml post /document Create a document. Documents are generated asynchronously. A successful request returns `202 Accepted` with an empty body and does not include a `Location` header. The generated document does not exist yet when the response is returned. Poll `GET /document` to retrieve it once generation completes. # Delete document Source: https://docs.awardforce.com/api-reference/documents/delete-document /api-reference/openapi-v2_3.yaml delete /document/{document_slug} Delete the document identified by the specified slug. # Document created Source: https://docs.awardforce.com/api-reference/documents/document-created /api-reference/openapi-v2_3.yaml webhook document-created # Document deleted Source: https://docs.awardforce.com/api-reference/documents/document-deleted /api-reference/openapi-v2_3.yaml webhook document-deleted # Document updated Source: https://docs.awardforce.com/api-reference/documents/document-updated /api-reference/openapi-v2_3.yaml webhook document-updated # Get document Source: https://docs.awardforce.com/api-reference/documents/get-document /api-reference/openapi-v2_3.yaml get /document/{document_slug} Get the document identified by the specified slug. # List documents Source: https://docs.awardforce.com/api-reference/documents/list-documents /api-reference/openapi-v2_3.yaml get /document List documents. # Update attachment field Source: https://docs.awardforce.com/api-reference/entries-realtime/update-attachment-field /api-reference/openapi-v2_3.yaml put /attachment/{token}/update-field/{field_slug} Update an attachment field for the attachment identified by the specified token. # Update contributor field Source: https://docs.awardforce.com/api-reference/entries-realtime/update-contributor-field /api-reference/openapi-v2_3.yaml put /contributor/{contributor_slug}/update-field/{field_slug} Update a contributor field for the contributor identified by the specified slug. # Update entry category Source: https://docs.awardforce.com/api-reference/entries-realtime/update-entry-category /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/update-category Update the category for the entry identified by the specified slug. # Update entry chapter Source: https://docs.awardforce.com/api-reference/entries-realtime/update-entry-chapter /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/update-chapter Update the chapter for the entry identified by the specified slug. # Update entry field Source: https://docs.awardforce.com/api-reference/entries-realtime/update-entry-field /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/update-field/{field_slug} Update a field for the entry identified by the specified slug. # Update entry title Source: https://docs.awardforce.com/api-reference/entries-realtime/update-entry-title /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/update-title Update the title for the entry identified by the specified slug. # Collaborator invited Source: https://docs.awardforce.com/api-reference/entries/collaborator-invited /api-reference/openapi-v2_3.yaml webhook collaborator-invited # Create entry Source: https://docs.awardforce.com/api-reference/entries/create-entry /api-reference/openapi-v2_3.yaml post /entry Create an entry. # Delete entry Source: https://docs.awardforce.com/api-reference/entries/delete-entry /api-reference/openapi-v2_3.yaml delete /entry/{entry_slug} Delete the entry identified by the specified slug. The entry is moved to the trash and can be restored; it is not permanently removed. # Entry category changed Source: https://docs.awardforce.com/api-reference/entries/entry-category-changed /api-reference/openapi-v2_3.yaml webhook entry-category-changed # Entry chapter changed Source: https://docs.awardforce.com/api-reference/entries/entry-chapter-changed /api-reference/openapi-v2_3.yaml webhook entry-chapter-changed # Entry copied Source: https://docs.awardforce.com/api-reference/entries/entry-copied /api-reference/openapi-v2_3.yaml webhook entry-copied # Entry created Source: https://docs.awardforce.com/api-reference/entries/entry-created /api-reference/openapi-v2_3.yaml webhook entry-created # Entry deleted Source: https://docs.awardforce.com/api-reference/entries/entry-deleted /api-reference/openapi-v2_3.yaml webhook entry-deleted # Entry marked eligible Source: https://docs.awardforce.com/api-reference/entries/entry-marked-eligible /api-reference/openapi-v2_3.yaml webhook entry-eligible # Entry marked ineligible Source: https://docs.awardforce.com/api-reference/entries/entry-marked-ineligible /api-reference/openapi-v2_3.yaml webhook entry-ineligible # Entry moderated Source: https://docs.awardforce.com/api-reference/entries/entry-moderated /api-reference/openapi-v2_3.yaml webhook entry-moderated # Entry resubmitted Source: https://docs.awardforce.com/api-reference/entries/entry-resubmitted /api-reference/openapi-v2_3.yaml webhook entry-resubmitted # Entry submitted Source: https://docs.awardforce.com/api-reference/entries/entry-submitted /api-reference/openapi-v2_3.yaml webhook entry-submitted # Entry tagged Source: https://docs.awardforce.com/api-reference/entries/entry-tagged /api-reference/openapi-v2_3.yaml webhook entry-tagged # Entry updated Source: https://docs.awardforce.com/api-reference/entries/entry-updated /api-reference/openapi-v2_3.yaml webhook entry-updated # Field value updated Source: https://docs.awardforce.com/api-reference/entries/field-value-updated /api-reference/openapi-v2_3.yaml webhook field-value-updated # Get entry Source: https://docs.awardforce.com/api-reference/entries/get-entry /api-reference/openapi-v2_3.yaml get /entry/{entry_slug} Get the entry identified by the specified slug. # List entries Source: https://docs.awardforce.com/api-reference/entries/list-entries /api-reference/openapi-v2_3.yaml get /entry List entries. # Review task created Source: https://docs.awardforce.com/api-reference/entries/review-task-created /api-reference/openapi-v2_3.yaml webhook review-task-created # Review task submitted Source: https://docs.awardforce.com/api-reference/entries/review-task-submitted /api-reference/openapi-v2_3.yaml webhook review-task-submitted # Tag entry Source: https://docs.awardforce.com/api-reference/entries/tag-entry /api-reference/openapi-v2_3.yaml put /entry/{entry_slug}/tag/{tags} Add tags to the entry identified by the specified slug. # Untag entry Source: https://docs.awardforce.com/api-reference/entries/untag-entry /api-reference/openapi-v2_3.yaml delete /entry/{entry_slug}/tag/{tags} Remove tags from the entry identified by the specified slug. Removing a tag that is not currently applied to the entry has no effect and still returns `201` with the current tags for the entry. Inspect `tags` in the response to confirm the result. # Update entry Source: https://docs.awardforce.com/api-reference/entries/update-entry /api-reference/openapi-v2_3.yaml put /entry/{entry_slug} Update the entry identified by the specified slug. Only the properties you include in the request body are updated; omitted properties keep their current values. Within `entry_fields`, only the field slugs you include are updated, and any field slug that does not exist on the form for the entry is ignored. For most field types the value you supply replaces the stored value. Table fields are merged cell by cell: include only the cells you want to change, and send a cell with an empty value to clear it. # Upload entry file Source: https://docs.awardforce.com/api-reference/entries/upload-entry-file /api-reference/openapi-v2_3.yaml post /entry/{entry_slug}/upload/{field_slug} Upload a file to the specified field for the entry identified by the specified slug. Use this operation to upload a file to a file field on the entry. The uploaded file is validated and stored before the response is returned; the file itself is processed shortly after. A `GET` on the returned `Location` immediately after the `201` may briefly return a response with a `null` body until processing is complete. # Create field Source: https://docs.awardforce.com/api-reference/fields/create-field /api-reference/openapi-v2_3.yaml post /field Create a field. You cannot create `formula` or `ai` field types through the API. # List fields Source: https://docs.awardforce.com/api-reference/fields/list-fields /api-reference/openapi-v2_3.yaml get /field List fields. # Get file information Source: https://docs.awardforce.com/api-reference/files/get-file-information /api-reference/openapi-v2_3.yaml get /file/{token} Get file information for the file identified by the specified token. Unknown tokens return `400 Bad Request`. # List leaderboard results Source: https://docs.awardforce.com/api-reference/leaderboard/list-leaderboard-results /api-reference/openapi-v2_3.yaml get /leaderboard List leaderboard results. A missing or unresolvable `score_set` parameter returns `404 Not Found`. # Get order Source: https://docs.awardforce.com/api-reference/orders/get-order /api-reference/openapi-v2_3.yaml get /order/{order_slug} Get the order identified by the specified slug. # List orders Source: https://docs.awardforce.com/api-reference/orders/list-orders /api-reference/openapi-v2_3.yaml get /order List orders. # Payment pending Source: https://docs.awardforce.com/api-reference/orders/payment-pending /api-reference/openapi-v2_3.yaml webhook payment-pending # Payment success Source: https://docs.awardforce.com/api-reference/orders/payment-success /api-reference/openapi-v2_3.yaml webhook payment-success # Update order Source: https://docs.awardforce.com/api-reference/orders/update-order /api-reference/openapi-v2_3.yaml put /order/{order_slug} Update the billing information and status of the order identified by the specified slug. # Create review task Source: https://docs.awardforce.com/api-reference/review-tasks/create-review-task /api-reference/openapi-v2_3.yaml post /review-task Create a review task. # Delete review task Source: https://docs.awardforce.com/api-reference/review-tasks/delete-review-task /api-reference/openapi-v2_3.yaml delete /review-task/{token} Delete the review task identified by the specified token. # Get review task Source: https://docs.awardforce.com/api-reference/review-tasks/get-review-task /api-reference/openapi-v2_3.yaml get /review-task/{token} Get the review task identified by the specified token. # List review tasks Source: https://docs.awardforce.com/api-reference/review-tasks/list-review-tasks /api-reference/openapi-v2_3.yaml get /review-task List review tasks. # List rounds Source: https://docs.awardforce.com/api-reference/rounds/list-rounds /api-reference/openapi-v2_3.yaml get /round List rounds. # Versioning Source: https://docs.awardforce.com/docs/additional/versioning Award Force uses semantic versioning with major and minor versions. * **MAJOR** version: Incremented for incompatible changes. * **MINOR** version: Incremented for minor breaking changes. Use the following `Accept` header values for version 2.3: ```bash theme={null} application/vnd.Creative Force.v2.3+json application/vnd.Creative Force.v2.3+xml ``` To use an earlier API version, replace `2.3` with the required version number. # Webhook payloads Source: https://docs.awardforce.com/docs/additional/webhook-payloads Payload structure and signature validation for Award Force webhooks. Webhook payloads are provided in JSON format and always contain the following attributes: Enumerated string with possible values being one of the events described in the [Available subscriptions](/docs/additional/webhook-subscriptions) page. ISO 8601 formatted datetime value, for example `2020-01-01T00:00:00Z`. Machine-readable event key that fired the webhook. Enumerated string with possible values matching the event codes described in the [Available subscriptions](/docs/additional/webhook-subscriptions) page. Enumerated string with the following possible values: * `ui` (default) * `api` ### Signature Use the `Signature` header to validate the webhook payload. The signature value is generated with this algorithm, using the **Signing key** specified in the webhook and the JSON payload: ```php PHP theme={null} $signature = hash_hmac('sha256', $payloadJsonString, $signingKey); ``` ```js JavaScript theme={null} const crypto = require('crypto'); const signature = crypto .createHmac('sha256', signingKey) .update(payloadJsonString) .digest('hex'); ``` ```python Python theme={null} import hmac import hashlib signature = hmac.new( signingKey.encode(), payloadJsonString.encode(), hashlib.sha256 ).hexdigest() ``` ```csharp C# theme={null} using System.Security.Cryptography; using System.Text; var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(signingKey)); var hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(payloadJsonString)); var signature = BitConverter.ToString(hash).Replace("-", "").ToLower(); ``` ```java Java theme={null} import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; Mac mac = Mac.getInstance("HmacSHA256"); SecretKeySpec keySpec = new SecretKeySpec( signingKey.getBytes("UTF-8"), "HmacSHA256"); mac.init(keySpec); byte[] hash = mac.doFinal(payloadJsonString.getBytes("UTF-8")); StringBuilder sb = new StringBuilder(); for (byte b : hash) sb.append(String.format("%02x", b)); String signature = sb.toString(); ``` Generate the same value in your endpoint and compare it with the `Signature` header value. # Available subscriptions Source: https://docs.awardforce.com/docs/additional/webhook-subscriptions Events you can subscribe to with Award Force webhooks. Subscribe to any of the following events when creating or editing a webhook: ## Assignment events | Event | Description | | ---------------------- | --------------------------------------------------- | | `assignment_completed` | Fired when an assignment is completed by a judge. | | `assignment_created` | Fired when a new assignment is created for a judge. | ## Document events | Event | Description | | ------------------ | ----------------------------------------------- | | `document_created` | Fired when a new document is added to an entry. | | `document_deleted` | Fired when a document is removed from an entry. | | `document_updated` | Fired when an existing document is updated. | ## Entry events | Event | Description | | ------------------------ | ------------------------------------------------------- | | `collaborator_invited` | Fired when a collaborator is invited to an entry. | | `entry_category_changed` | Fired when an entry's category is changed. | | `entry_chapter_changed` | Fired when an entry's chapter is changed. | | `entry_copied` | Fired when an entry is copied. | | `entry_created` | Fired when a new entry is created. | | `entry_deleted` | Fired when an entry is deleted. | | `entry_eligible` | Fired when an entry is marked as eligible. | | `entry_ineligible` | Fired when an entry is marked as ineligible. | | `entry_moderated` | Fired when an entry is moderated. | | `entry_resubmitted` | Fired when an entry is resubmitted by the entrant. | | `entry_submitted` | Fired when an entry is submitted by the entrant. | | `entry_tagged` | Fired when a tag is applied to an entry. | | `entry_updated` | Fired when an existing entry is updated. | | `field_value_updated` | Fired when a custom field value is updated on an entry. | | `review_task_created` | Fired when a review task is created for a reviewer. | | `review_task_submitted` | Fired when a review task is submitted by a reviewer. | ## Order payment events | Event | Description | | ----------------------- | ------------------------------------------------------ | | `order_payment_pending` | Fired when an order payment is marked as pending. | | `order_payment_success` | Fired when an order payment is completed successfully. | ## User events | Event | Description | | ----------------------- | ------------------------------------------------- | | `membership_registered` | Fired when a new user registers or is created. | | `role_granted` | Fired when a role is granted to a user. | | `user_updated` | Fired when an existing user's profile is updated. | # Webhooks management Source: https://docs.awardforce.com/docs/additional/webhooks-management Create, edit, and delete Award Force webhooks. ## Create a webhook Navigate to *Settings > Integrations > Webhooks*, then click on **New webhook**: Create webhook in dashboard Use a clear name so you can identify which integration a webhook belongs to later, especially when managing several webhooks. Enter a name and the webhook URL Use this key to validate the webhook payload [signature](/docs/additional/webhook-payloads#signature). Choose which events trigger this webhook. See [Available subscriptions](/docs/additional/webhook-subscriptions) for the full list. Edit webhook ## Edit an existing webhook To edit an existing webhook, go to *Settings > Integrations > Webhooks*, then click the name of the webhook, or open the overflow action menu and click **Edit**. Edit webhook ## Delete an existing webhook **Deleting a webhook is permanent. The integration stops receiving events immediately, and you cannot undo this action.** To delete an existing webhook, go to *Settings > Integrations > Webhooks*, pen the overflow action menu for the webhook, click **Delete**, then confirm by clicking **OK**. Delete webhook # API keys management Source: https://docs.awardforce.com/docs/authentication/api-keys-management Generate, edit, and revoke Award Force API keys. ## API key scopes API scopes allow you to restrict access for third parties using an API key. Use a scope to protect your and your entrants' data by limiting what third parties can access. You can apply one of the following scopes to any API key: * **Read only** - Use for `GET` operations, restricted to viewing data associated with the endpoint. * **Read / Write** - Use for `GET`, `POST`, `PUT`, `PATCH`, and `DELETE` operations, covering create, update, and delete actions on data associated with the endpoint (set by default). ## Manage API keys ### Generate a new API key Navigate to *Settings > Integrations > API Keys*, then click on **Generate API Key**: Generate API key in dashboard Use a clear name or purpose so you can identify which integration a key belongs to later, especially when managing several keys. Add API key name and purpose Select **Read only** for `GET` operations only, or **Read / Write** for full access (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`). ### Update an existing API key To update an existing API key, go to *Settings > Integrations > API Keys*, then click on the name of API keyname, or open the overflow action menu and click **Edit**. Update API key ### Revoke an existing API key **Revoking an API key is permanent. Any integration using the key immediately loses access, and you cannot undo this action.** To revoke an existing API key, go to *Settings > Integrations > API Keys*, open the overflow action menu for the key, click **Revoke**, then confirm by clicking **OK**. Update API key # Authentication Source: https://docs.awardforce.com/docs/authentication/index Authenticate Award Force API requests using a private API key. If you do not use an API key for your requests, or if you use a key from the wrong account, your call will return a `403 Forbidden` error. Authentication is performed by setting the following request header: Valid API key used for authentication and authorisation. Example: ```bash Request theme={null} curl -H "x-api-key: {api_key}" \ -H "Accept: application/vnd.Creative Force.v2.3+json" \ https://api.us.cr4ce.com/account ``` # AI-optimised documentation Source: https://docs.awardforce.com/docs/docs-for-ai/ai-optimized-documentation Access AI-optimised content and quick integrations from the context menu on any Award Force docs page. ## Overview Every Award Force documentation page includes a menu for quick access to AI-optimised content and AI tool integrations, so you get assistance without leaving the page. ## Context menu access Open the dropdown beside the page header on any Award Force documentation page to reveal the AI integration options. Copy page dropdown ## Available options ### Page content options #### Copy page Copies the page content as plain Markdown, useful for sharing text or basic copy-paste. #### View as Markdown Displays the page as raw Markdown text. Use this when pasting content into an AI tool for analysis or questions. ### MCP server integration #### Copy MCP server URL Copies the MCP server URL for manual configuration, suited to custom setups or AI tools that support MCP. One-click connectors for MCP-compatible IDEs are also available from the same dropdown. ### Additional context **Full documentation context** `llms-full.txt` bundles the complete Award Force documentation into a single AI-friendly file, available at [`https://docs.awardforce.com/llms-full.txt`](https://docs.awardforce.com/llms-full.txt). Use it when an AI tool needs full context across the Award Force API rather than a single page. For step-by-step MCP server setup and troubleshooting, see [Docs MCP](/docs/additional/docs-mcp). ## How to use ### For direct AI tool access 1. Open any Award Force documentation page 2. Click the header dropdown 3. Pick the option matching your preferred AI tool ### For manual AI tool usage 1. Open any Award Force documentation page 2. Click the header dropdown 3. Choose **Copy page** 4. Paste the content into your AI tool of choice and start asking questions ### For comprehensive context * Go to `https://docs.awardforce.com/llms-full.txt`. * Copy the link or the file contents for full documentation context. * Use this when a question touches several parts of the Award Force docs. ### For MCP server setup 1. Open any Award Force documentation page 2. Click the header dropdown 3. Choose **Copy MCP server URL**, or use the one-click **Connect to Cursor** or **Connect to VS Code** buttons 4. See [Docs MCP](/docs/additional/docs-mcp) for the full setup walkthrough ## Best practices ### Provide context * Mention the specific API endpoints involved in your question. * Describe your use case, such as entries, webhooks, or authentication. * Name the Award Force resources you are working with. * For questions spanning multiple topics, pull in `llms-full.txt` for broader context. ### Combine with the MCP server * Reach for the context menu for quick, one-off AI questions. * Set up [Docs MCP](/docs/additional/docs-mcp) for full AI tool integration during ongoing development. * The two work well together. Combine them for the best results. ## Disclaimer AI agents are not infallible. They can misread instructions, make mistakes, or return inaccurate output. Award Force makes no guarantee about the accuracy of anything an AI agent retrieves or does through this MCP server. Reviewing and verifying any API requests or code generated through agentic workflows is your responsibility. # Docs MCP Source: https://docs.awardforce.com/docs/docs-for-ai/docs-mcp Connect AI tools to the Award Force API documentation using the Model Context Protocol. ## Overview The Award Force docs MCP server gives any [MCP](https://modelcontextprotocol.io)-compatible AI tool a direct connection to the Award Force API documentation. Instead of guessing how the API works, the AI searches the docs and grounds its answers in current content. **Without the docs MCP:** ``` You: "List all entries in a season" AI: *generates code that might use the wrong endpoint* ``` **With the docs MCP:** ``` You: "List all entries in a season" AI: *searches Award Force docs automatically* AI: *generates code using the correct endpoint* ``` ## How it helps you When you connect the docs MCP to your AI tools, the AI becomes an Award Force expert and: * Generates accurate code using current API endpoints, parameters, and request bodies. * Answers specific questions about the API, authentication, and webhooks. * Suggests best practices for working with entries, categories, assignments, and more. * Finds the right documentation when you are stuck on implementation. The docs MCP server provides documentation `search` only. It does not make API calls. To use the Award Force API itself, include your API key in requests as described in the [authentication guide](/docs/authentication/index). ## Server URL ``` https://docs.awardforce.com/mcp ``` Add this URL to any MCP-compatible client. Most clients accept either a URL-based remote MCP server or a manual entry in their MCP configuration file. ## Configuration ### URL-based connection If your client supports remote MCP servers, paste the server URL into its connector settings. ### File-based configuration If your client uses an `mcp.json` (or equivalent) configuration file, add an entry like: ```json theme={null} theme={null} { "mcpServers": { "Award Force": { "url": "https://docs.awardforce.com/mcp" } } } ``` ### One-click connectors Many Award Force documentation pages include one-click MCP connectors in the dropdown next to the document header. See [AI-optimised documentation](/docs/additional/ai-optimized-documentation) for details. ## Test your MCP connection Once configured, verify the connection by asking your AI tool: ``` What MCP tools do you have available? ``` You should see the Award Force documentation search tool listed. Then try: ``` Search the Award Force docs for information about entries ``` The AI searches and returns relevant Award Force documentation. ## Troubleshooting ### Connection issues MCP server not connecting: * Verify the URL is exactly `https://docs.awardforce.com/mcp`. * Check your internet connection. * Restart your AI tool after configuration. Search tool not available: * Confirm the MCP server was added correctly. * Try removing and re-adding the server configuration. * Check the MCP support documentation for your AI tool. ### Search issues Search returns no results: * Try different search terms. * Use more general terms, for example `entry` instead of `entry field API`. * Verify the MCP connection is working. ## Additional resources * [Model Context Protocol documentation](https://modelcontextprotocol.io/docs/tutorials/use-remote-mcp-server#connecting-to-a-remote-mcp-server) * [Mintlify MCP documentation](https://mintlify.com/docs/ai/model-context-protocol) * [AI-optimised documentation](/docs/additional/ai-optimized-documentation) ## Disclaimer AI agents make errors, misinterpret instructions, or produce inaccurate output. Award Force does not guarantee the accuracy of any information retrieved or action taken by an AI agent using this MCP server. You are solely responsible for reviewing and verifying any API requests or code generated through agentic workflows. # Award Force API Source: https://docs.awardforce.com/docs/getting-started/index Integrate Award Force with your websites, applications, and internal systems using the API. ## Introduction **API version:** 2.3 Use the API to exchange data between Award Force and external platforms. The API is available on **Pro** and **Premier** subscriptions. For information on upgrading, see [**Using the billing portal**](https://support.awardforce.com/hc/en-us/articles/4409498366351-Using-the-billing-portal#h_01HBC9JWHSK3KEVQFM2FSHR0GR). ## Available resources Use the API to list, retrieve, create, update, delete, and upload data across the following resource groups: * Account * Category * Chapter * Round * Season * User * Attachment * Contributor * Entry * Entry (realtime) * File * Review task * Assignment * Leaderboard * Score set * Document * Field * Webhook * Order * Tax ## Get support For API questions or beta program access, email [support@awardforce.com](mailto:support@awardforce.com). # Fields Source: https://docs.awardforce.com/docs/requests/fields Field types and data types for the Award Force API. Fields form an integral part of your entry form. They collect information about entries, users, attachments, contributors, and referees. Award Force provides a wide range of field types you can use to collect exactly the information you need from entrants. Many field types include additional configuration options, such as file size limits or minimum and maximum word counts. For a full list of field types and their configuration options, see the [**Field types overview**](https://support.awardforce.com/hc/en-us/articles/210170686-Field-types-overview#h_01KES786D1X00XRRNCRX4WFMA1) Help Centre article. ### Field data types | Field | Type | Notes | | :--------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Checkbox | Boolean | | | Checkbox list | Array | Options must exactly match the field value, not the label, including letter case.

Example: `["Item 1", "Item 2"]` | | Content | String | | | Country | String | Accepts the two-letter country code from [this list](https://support.awardforce.com/hc/en-us/articles/360000237856-Two-letter-country-codes-in-fields).

Example: `AU` for Australia | | Currency | Float | Accepts a numeric currency amount value. | | Date | Date | Accepts a date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.

Example: `2025-12-08T08:58:50Z` or `2025-10-08` | | Date and time | Date | Same as Date field. | | Drop-down list | String | Options must exactly match the field value (not label) including letter case. | | Email | String | Must follow standard email format, for example [name@domain.com](mailto:name@domain.com). | | File upload (single) | JSON string | A JSON string containing two properties: `filename` and `data`.

See the [**Upload entry file**](/api-reference/entries/upload-entry-file) or [**Upload user file**](/api-reference/users/upload-user-file) endpoints | | Numeric | Float | Accepts any numeric input. | | Phone number | String | Must be a valid phone number in international format, including a leading `+`. | | Radio buttons | String | Options must exactly match the field value (not label) including letter case. | | Table | JSON string | Example:

`{`
  `"slug": {`
    `"B1": "valueB1",`
    `"C1": "valueC1",`
    `"B2": "valueB2",`
    `"C2": "valueC2"`
  `}`
`}` | | Text (single line) | String | | | Text area (multi-line) | String | | | Time | String | Must follow the following format: `00:00` | | URL | String | Must begin with `https://`. | # Files Source: https://docs.awardforce.com/docs/requests/files File upload requirements for the Award Force API. ## Base64 encoding File upload endpoints accept base64-encoded strings that represent the file to upload. Most programming languages can convert files to base64 strings. If your API client does not support this directly, use a separate conversion tool before sending the request. ```bash cURL expandable theme={null} # Encode a file to Base64 and send in a JSON payload BASE64_FILE=$(base64 -w 0 document.pdf) curl -X POST "https://api.us.cr4ce.com/entry/{entry_slug}/upload/{field_slug}" \ -H "Accept: application/vnd.Creative Force.v2.3+json" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"file\": \"$BASE64_FILE\", \"filename\": \"document.pdf\"}" # The -w 0 flag prevents line wrapping in the Base64 output ``` ```php PHP expandable theme={null} $fileContent = file_get_contents('/path/to/your/file.pdf'); $base64 = base64_encode($fileContent); $payload = json_encode([ 'file' => $base64, 'filename' => 'document.pdf' ]); $ch = curl_init('https://api.us.cr4ce.com/entry/{entry_slug}/upload/{field_slug}'); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Accept: application/vnd.Creative Force.v2.3+json', 'x-api-key: YOUR_API_KEY', 'Content-Type: application/json' ]); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); ``` ```js JavaScript expandable theme={null} const fs = require('fs'); const https = require('https'); const fileBuffer = fs.readFileSync('/path/to/your/file.pdf'); const base64 = fileBuffer.toString('base64'); const payload = JSON.stringify({ file: base64, filename: 'document.pdf' }); const options = { hostname: 'api.us.cr4ce.com', path: '/entry/{entry_slug}/upload/{field_slug}', method: 'POST', headers: { 'Accept': 'application/vnd.Creative Force.v2.3+json', 'x-api-key': 'YOUR_API_KEY', 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(payload) } }; const req = https.request(options, (res) => { let data = ''; res.on('data', (chunk) => data += chunk); res.on('end', () => console.log(data)); }); req.write(payload); req.end(); ``` ```python Python expandable theme={null} import base64 import json import requests with open('/path/to/your/file.pdf', 'rb') as f: base64_content = base64.b64encode(f.read()).decode('utf-8') response = requests.post( 'https://api.us.cr4ce.com/entry/{entry_slug}/upload/{field_slug}', headers={ 'Accept': 'application/vnd.Creative Force.v2.3+json', 'x-api-key': 'YOUR_API_KEY', 'Content-Type': 'application/json' }, json={ 'file': base64_content, 'filename': 'document.pdf' } ) ``` ```csharp C# expandable theme={null} using System; using System.IO; using System.Net.Http; using System.Text.Json; using System.Threading.Tasks; var fileBytes = File.ReadAllBytes("/path/to/your/file.pdf"); var base64 = Convert.ToBase64String(fileBytes); var payload = new { file = base64, filename = "document.pdf" }; using var client = new HttpClient(); client.DefaultRequestHeaders.Add("Accept", "application/vnd.Creative Force.v2.3+json"); client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY"); var json = JsonSerializer.Serialize(payload); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://api.us.cr4ce.com/entry/{entry_slug}/upload/{field_slug}", content); ``` ```java Java expandable theme={null} import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Base64; var fileBytes = Files.readAllBytes(Paths.get("/path/to/your/file.pdf")); var base64 = Base64.getEncoder().encodeToString(fileBytes); var json = String.format( "{\"file\":\"%s\",\"filename\":\"document.pdf\"}", base64 ); var client = HttpClient.newHttpClient(); var request = HttpRequest.newBuilder() .uri(URI.create("https://api.us.cr4ce.com/entry/{entry_slug}/upload/{field_slug}")) .header("Accept", "application/vnd.Creative Force.v2.3+json") .header("x-api-key", "YOUR_API_KEY") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); var response = client.send(request, HttpResponse.BodyHandlers.ofString()); ``` # Headers Source: https://docs.awardforce.com/docs/requests/request-headers Required and optional headers for the Award Force API. Defines the API version to use and response format. **Allowed values:** * `application/vnd.Creative Force.v2.3+json` * `application/vnd.Creative Force.v2.3+xml` Valid API key used for authentication and authorisation. Refer to [Authentication](/docs/authentication). Defines the languages included in the response. If non are provided, the account default language is returned. You can request multiple languages using a comma-separated string of languages. **Allowed values:** * `all` (overrides any other values present) * `ar_AR`, `bg_BG`, `bn_IN`, `ca_ES`, `cs_CZ`, `cy_GB`, `da_DK`, `de_DE`, `en_GB`, `en_US`, `el_GR`, `es_NN`, `es_LA`, `fa_NN`, `fi_FI`, `fr_FR`, `fr_CA`, `he_IL`, `hi_IN`, `it_IT`, `ja_JP`, `ko_KR`, `lt_LT`, `ms_MY`, `nl_NL`, `nb_NO`, `pl_PL`, `pt_BR`, `ru_RU`, `sl_SI`, `sv_SE`, `sw_NN`, `th_TH`, `uk_UA`, `vi_VN`, `zh_CN`, `zh_HK` The selected language must be supported by your account or a `400 Bad Request` error is returned. # Servers Source: https://docs.awardforce.com/docs/requests/servers Regional endpoints for the Award Force API. ## Regional endpoints Accounts are bound to a specific region, with regional endpoints providing optimal performance. You must use the endpoint that matches your account's region — requests sent to the wrong region are rejected. | Region | Endpoint | | ----------- | ------------------ | | Australasia | `api.au.cr4ce.com` | | Canada | `api.ca.cr4ce.com` | | EU | `api.eu.cr4ce.com` | | Hong Kong | `api.hk.cr4ce.com` | | US | `api.us.cr4ce.com` | If you send a request to the wrong region, the API returns a `500` error with the correct URL: ```json theme={null} { "message": "The account related to this API key resides in a different region. Please try the following url instead: https://api.eu.cr4ce.com", "status_code": 500 } ``` # Pagination Source: https://docs.awardforce.com/docs/responses/pagination Navigate paginated Award Force API responses using page query parameters and helper links. Our APIs support offset-based pagination with the query parameter `?page=1`. Use `?per_page=` to control the number of records returned per page (between `1` and `100`, default `10`). ```bash Request theme={null} # Get the first page with 5 results per page curl "https://api.us.cr4ce.com/user?page=1&per_page=5" # Get the next page curl "https://api.us.cr4ce.com/user?page=2&per_page=5" ``` Paginated resource responses contain a specific set of pagination helper links in the top-level object. Use these links to navigate to different pages of data. ```json Response theme={null} { "current_page": 1, "data": [], "first_page_url": "https://api.us.cr4ce.com/user?page=1&per_page=5", "from": 1, "last_page": 10, "last_page_url": "https://api.us.cr4ce.com/user?page=10&per_page=5", "next_page_url": "https://api.us.cr4ce.com/user?page=2&per_page=5", "path": "https://api.us.cr4ce.com/user", "per_page": 5, "prev_page_url": "", "to": 10, "total": 200 } ``` ## Paginated results Paginated responses usually include the following fields: Number of the page returned by this response. The first page is `1`. Array containing resource information. URL of the first page in the result set. Relative when the requested page is beyond the last page. Position of the first record on this page within the full result set. The first record is at position `1`. `null` when the requested page is beyond the last page. Number of the last page. Equals the total number of pages. URL of the last page in the result set. Relative when the requested page is beyond the last page. URL of the next page in the result set. Empty string when the current page is the last page. Canonical URL of the endpoint, without query parameters. Maximum number of records returned per page. URL of the previous page in the result set. Empty string when the current page is the first page. Position of the last record on this page within the full result set. `null` when the requested page is beyond the last page. Total number of records across all pages. # Rate limits Source: https://docs.awardforce.com/docs/responses/rate-limits Understand rate limits and ingestion constraints for the Award Force API. Award Force applies rate limits to maintain platform stability and reduce service disruptions. Rate limiting is set at **60 requests per API key per minute**. Requests above this limit return a `429 TOO MANY REQUESTS` response. All API responses include the following headers so you can monitor and manage your request rate: Maximum number of requests allowed per minute. **Example:** `60` Number of requests remaining in the current rate limit window. **Example:** `58` Unix timestamp when the rate limit window resets. **Example:** `1783470988` When you receive a `429` error, the rate limit headers are replaced with a `Retry-After` header indicating the number of seconds to wait before retrying. ### File upload size limits File uploads are limited to a maximum size of **256 MB**. Requests exceeding this limit return a `413 PAYLOAD TOO LARGE` response. ## Retry recommendations Implement retry logic for `429` and `503` errors using an exponential backoff strategy with randomised jitter to avoid overwhelming the server. Only retry after the time indicated by the `Retry-After` header (in seconds) has elapsed. Immediate retries will always receive a `429` error. **Example retry strategy:** 1. Receive a `429` or `503` error. 2. Read the `Retry-After` header value (seconds). 3. Wait for the specified duration plus a random jitter (0-5 seconds). 4. Retry the request. 5. If the request fails again, double the wait time and repeat. # Formats Source: https://docs.awardforce.com/docs/responses/response-formats Understand Award Force API response formats. ## Response formats Responses are provided in `JSON` or `XML` format. Set the `Accept` header to choose the response format. Accepted formats: * `application/vnd.Creative Force.v2.3+json` * `application/vnd.Creative Force.v2.3+xml` # Headers Source: https://docs.awardforce.com/docs/responses/response-headers Understand Award Force API response headers. ## Reponse headers Entity tag for the selected representation. Used for caching and conditional requests. URI of the newly created resource. Returned in `201 CREATED` responses. Number of seconds the client should wait before retrying. Returned in `429 TOO MANY REQUESTS` responses. **Example:** `60` Maximum number of requests allowed per minute. **Example:** `60` Number of requests remaining in the current rate limit window. **Example:** `58` Unix timestamp when the rate limit window resets. **Example:** `1783470988` # Status codes and errors Source: https://docs.awardforce.com/docs/responses/status-codes Understand HTTP status codes, error responses, and retry recommendations for the Award Force API. ## Response status codes The API uses conventional HTTP status codes to indicate success or failure: ### Success codes | Status code | Name | Description | | :----------------- | :--------- | :------------------------------------------------------------------------------------------ | | 200 | OK | The request has succeeded. | | 201 | CREATED | The request has succeeded and a new resource has been created as a result. | | 204 | NO CONTENT | The request has succeeded but there is no content to send in the response for this request. | ### Error codes | Status code | Name | Description | | :----------------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------- | | 400 | BAD REQUEST | The server could not understand the request due to invalid syntax. | | 401 | UNAUTHORIZED | The request has not been applied because it lacks valid authentication credentials for the target resource. | | 403 | FORBIDDEN | The server understood the request but refuses to authorize it. Check your API key scope. | | 404 | NOT FOUND | The requested resource doesn't exist. | | 409 | CONFLICT | The request conflicts with the current state of the server. | | 413 | PAYLOAD TOO LARGE | The request entity is larger than the limits defined by the server (256 MB max for file uploads). | | 422 | UNPROCESSABLE ENTITY | The request was well-formed but was unable to be followed due to semantic errors. | | 429 | TOO MANY REQUESTS | You have sent too many requests in a given amount of time. See the `Retry-After` header. | | 500 | INTERNAL SERVER ERROR | Something went wrong on the server. | | 503 | SERVICE UNAVAILABLE | The service is temporarily unavailable. Check [status.awardforce.com](https://status.awardforce.com) for updates. | ## Error responses When a request fails, the response includes an error object with details: Human-readable error message. Object containing specific error details, including field-level validation errors. HTTP status code. ### Example error response ```json Response theme={null} { "message": "Invalid filter names and / or values.", "errors": { "invalid_filter_values": { "per_page": "Value must be a number. You provided [abc].", "category": "Value is not a valid slug. Must contain only letters and be exactly 8 characters long." } }, "status_code": 400 } ``` # Get round Source: https://docs.awardforce.com/api-reference/rounds/get-round /api-reference/openapi-v2_3.yaml get /round/{round_slug} Get the round identified by the specified slug. # Get score set Source: https://docs.awardforce.com/api-reference/score-sets/get-score-set /api-reference/openapi-v2_3.yaml get /score-set/{score_set_slug} Get the score set identified by the specified slug. # List score sets Source: https://docs.awardforce.com/api-reference/score-sets/list-score-sets /api-reference/openapi-v2_3.yaml get /score-set List score sets. # Get season Source: https://docs.awardforce.com/api-reference/seasons/get-season /api-reference/openapi-v2_3.yaml get /season/{season_slug} Get the season identified by the specified slug. # List seasons Source: https://docs.awardforce.com/api-reference/seasons/list-seasons /api-reference/openapi-v2_3.yaml get /season List seasons. # List taxes Source: https://docs.awardforce.com/api-reference/taxes/list-taxes /api-reference/openapi-v2_3.yaml get /tax List taxes. # Create user Source: https://docs.awardforce.com/api-reference/users/create-user /api-reference/openapi-v2_3.yaml post /user Create a user. # Delete user Source: https://docs.awardforce.com/api-reference/users/delete-user /api-reference/openapi-v2_3.yaml delete /user/{user_slug} Delete the user identified by the specified slug. # Get user Source: https://docs.awardforce.com/api-reference/users/get-user /api-reference/openapi-v2_3.yaml get /user/{user_slug} Get the user identified by the specified slug or email address. The response includes all user fields. File fields include a download link. # Get user auth token Source: https://docs.awardforce.com/api-reference/users/get-user-auth-token /api-reference/openapi-v2_3.yaml get /user/{user_slug}/auth-token Get an SSO auth token for the specified user. Use the token to log the user into the app using SSO. Learn how to integrate Award Force with your own SSO provider. # List users Source: https://docs.awardforce.com/api-reference/users/list-users /api-reference/openapi-v2_3.yaml get /user List users. # Restore user Source: https://docs.awardforce.com/api-reference/users/restore-user /api-reference/openapi-v2_3.yaml post /user/{user_slug}/restore Restore the previously deleted user identified by the specified slug. # Role granted Source: https://docs.awardforce.com/api-reference/users/role-granted /api-reference/openapi-v2_3.yaml webhook role-granted # Update user Source: https://docs.awardforce.com/api-reference/users/update-user /api-reference/openapi-v2_3.yaml put /user/{user_slug} Update the user identified by the specified slug. # Upload user file Source: https://docs.awardforce.com/api-reference/users/upload-user-file /api-reference/openapi-v2_3.yaml post /user/{user_slug}/upload/{field_slug} Upload a file to the specified field for the user identified by the specified slug. Use this operation to upload a file to a file field on the user. The uploaded file is validated and stored before the response is returned; the file itself is processed shortly after. A `GET` on the returned `Location` immediately after the `201` may briefly return a response with a `null` body until processing is complete. # User created Source: https://docs.awardforce.com/api-reference/users/user-created /api-reference/openapi-v2_3.yaml webhook membership-registered # User updated Source: https://docs.awardforce.com/api-reference/users/user-updated /api-reference/openapi-v2_3.yaml webhook user-updated # Create webhook Source: https://docs.awardforce.com/api-reference/webhooks/create-webhook /api-reference/openapi-v2_3.yaml post /webhook Create a webhook. Each webhook subscribes to one or more events. When a subscribed event occurs, the webhook URL receives a payload describing the event. **Supported subscription events:** * allocation\_created * allocation\_payment\_created * allocation\_payment\_deleted * allocation\_payment\_status\_changed * allocation\_payment\_updated * assignment\_completed * assignment\_created * collaborator\_invited * document\_created * document\_deleted * document\_updated * entry\_category\_changed * entry\_chapter\_changed * entry\_copied * entry\_created * entry\_deleted * entry\_eligible * entry\_ineligible * entry\_moderated * entry\_resubmitted * entry\_submitted * entry\_tagged * entry\_updated * field\_value\_updated * membership\_registered (user created) * order\_payment\_pending * order\_payment\_success * review\_task\_created * review\_task\_submitted * role\_granted * user\_updated # Delete webhook Source: https://docs.awardforce.com/api-reference/webhooks/delete-webhook /api-reference/openapi-v2_3.yaml delete /webhook/{webhook_slug} Delete the webhook identified by the specified slug. # Get webhook Source: https://docs.awardforce.com/api-reference/webhooks/get-webhook /api-reference/openapi-v2_3.yaml get /webhook/{webhook_slug} Get the webhook identified by the specified slug. # List webhooks Source: https://docs.awardforce.com/api-reference/webhooks/list-webhooks /api-reference/openapi-v2_3.yaml get /webhook List webhooks. # Update webhook Source: https://docs.awardforce.com/api-reference/webhooks/update-webhook /api-reference/openapi-v2_3.yaml put /webhook/{webhook_slug} Update the webhook identified by the specified slug.