### GET /faqs/{id} Source: https://docs.classy.org/specs/apiv2-public.json Fetch specified FAQ ```markdown ### Parameters - **id** (integer, path, required): Primary identifier of FAQ (example: 321) ### Responses #### 200 - Success **FAQ** - **answer** (string (string)): FAQ Answer Body (example: "The answer to this question is 42") - **campaign_id** (integer): Primary identifier of the associated Campaign (example: "227362") - **created_at** (string (date-time)): Date/time of initial record creation (example: "2021-04-23T08:23:21Z") - **id** (integer): Primary identifier of record (example: 9384) - **organization_id** (integer): Primary identifier of associated Organization (example: 82364) - **question** (string (string)): FAQ Body (example: "What is a question?") - **tag** (string (tax|other)): Tags assigned to the FAQ (example: "other") ("tax"|"other") - **updated_at** (string (date-time)): Date/time of last record update (example: "2021-04-23T10:25:03Z") - **weight** (integer): Identify the importance of this Question when sorting (example: 10) #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - FAQ not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/faqs/{id}" ``` ``` -------------------------------- ### GET /promo-codes/{id} Source: https://docs.classy.org/specs/apiv2-public.json Fetch specified Promo Code ```markdown ### Parameters - **id** (integer, path, required): Primary identifier of Promo Code (example: 8273) ### Responses #### 200 - Success **PromoCode** - **adjustment_amount** (integer): Value to configure price adjustment when applied against an Item. Can reflect either a percentage or flat amount based on associated adjustment_type (example: 10) - **adjustment_type** (string (percentage|amount)): Specification of how adjustment_amount is applied (example: "percentage") ("percentage"|"amount") - **applications_count** (integer): Count of the number of times the promo code has been applied to Items still in a Cart or successfully transacted against (example: 22) - **code** (string): Value of the Promo Code to entered on checkout (example: "TENPERCENTOFF") - **ends_at** (string (date-time)): Date/time when the Promo Code can no longer be applied to purchases (example: "2021-04-23T08:23:21Z") - **id** (integer): Primary identifier of record (example: 8273) - **is_active** (boolean): Indicates whether Promo Code is active or not regardless of availability or date range (example: true) - **is_general** (boolean): Indicates whether Promo Code has a general designation, meaning it applies to all TicketTypes for its Campaign (example: false) - **quantity** (integer): Total number of Items against which the Promo Code can be applied (null implies unlimited applications) (example: 100) - **starts_at** (string (date-time)): Date/time when record can start being applied to purchase (example: "2021-04-23T08:23:21Z") - **updated_at** (string (date-time)): Date/time of last record update (example: "2021-04-23T10:25:03Z") #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Promo Code not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/promo-codes/{id}" ``` ``` -------------------------------- ### GET /campaigns/{campaign_id}/ticket-types Source: https://docs.classy.org/specs/apiv2-public.json Get Ticket Types for a given Campaign. ```markdown ### Parameters - **campaign_id** (integer, path, required): Primary identifier of Campaign (example: 227362) - **page** (integer, query, optional): Indicator of which page of results to return (example: 1) - **per_page** (integer, query, optional): Number of entries to return in each page of results (example: 20) ### Responses #### 200 - Success - **current_page** (integer): Index of current page (example: 1) - **data** (array (object)): Collection of Ticket Type Array items: - **commitment** (object): A Commitment defines an agreement by a Supporter to raise a specified amount, or meet a certain condition, within a specific timeframe when ticket having commitment is purchased. - **deadline** (string (date-time)): Deadline for Commitment agreement (example: "2016-02-01T00:00:00+0000") - **value** (number (double)): Commitment amount (example: 100) - **description** (string): Description of Ticket Type (example: "Ticket Type description") - **ended_at** (string (date-time)): Date when Ticket Type is no longer available (example: "2019-04-23T10:25:03Z") - **entries_per_ticket** (integer): How many entries a Ticket of this type grants to a purchaser (example: 3) - **is_active** (boolean): Whether Ticket Type is available to purchase (example: true) - **max_per_transaction** (integer): The most Tickets of this type that be purchased in a single transaction (example: 1) - **name** (string): The name of the TicketType (example: "General Admission") - **org_percent** (number (double)): Use deductible_percent (example: 100) - **deductible_amount** (number (double)): Amount of ticket price that is considered donation to campaign (May only specify deductible_percent OR deductible_amount) (example: 5) - **deductible_percent** (number (double)): Percentage of ticket price that is considered donation to campaign (May only specify deductible_percent OR deductible_amount) (example: 100) - **price** (number (double)): Price of a single Ticket of this type. (example: 10) - **quantity_available** (integer): Quantity of Tickets available for purchase. Use 'null' for unlimited tickets. (example: 2) - **started_at** (string (date-time)): Date when Ticket Type can start being purchased (example: "2016-01-01T12:00:00+0000") - **weight** (integer): Display order (example: 1) - **campaign_id** (integer): The ID of the Campaign the Ticket Type belongs to (example: 227362) - **commitment_id** (integer): The ID of the Commitment associated to the TicketType (example: 98374) - **created_at** (string (date-time)): Timestamp from when TicketType was created (example: "2016-01-01T12:00:00+0000") - **id** (integer): Primary identifier of record (example: 9978) - **is_classy_mode** (boolean): Whether TicketType is fees on top. (example: false) - **min_per_transaction** (integer): The min Tickets of this type that be purchased in a single transaction (example: 1) - **quantity_reserved** (integer): Quantity of Tickets that are reserved awaiting checkout/payment. Only available for FRS campaigns. (example: 1) - **quantity_sold** (integer): Quantity of Tickets that have been sold. Only available for FRS campaigns. (example: 1) - **updated_at** (string (date-time)): Date when Tickets of this type was last updated (example: "2016-01-01T12:00:00+0000") - **first_page_url** (unknown) (example: "{host}/campaigns/{campaign_id}/ticket-types?page=1") - **from** (integer): Index of first displayed result within total result set (example: 1) - **last_page** (integer): Index of last page in result set (example: 1) - **last_page_url** (unknown) (example: "{host}/campaigns/{campaign_id}/ticket-types?page=1") - **next_page_url** (string): URL of next page of results (example: null) - **path** (unknown) (example: "{host}/campaigns/{campaign_id}/ticket-types") - **per_page** (integer): Maximum number of records returned per page of results (example: 20) - **prev_page_url** (string): URL of previous page of results (example: null) - **links** (array (object)): Collection of objects representing pages {label, URL, active} that can be used to request the associated page of records. Array items: - **label** (string): Identifier of the page. (example: "1") - **url** (string): URL that can be used to fetch associated page of records. (example: "{host}/{resource}?page=1") - **active** (boolean): Identifies whether the previously requested page matches the page this link object references. (example: "true") - **to** (integer): Index of last displayed result within total result set (example: 1) - **total** (integer): Total count of records in result set (example: 1) #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Campaign not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/campaigns/{campaign_id}/ticket-types?page=1&per_page=20" ``` ``` -------------------------------- ### Schema: StudioIntelligentAsksSettings Source: https://docs.classy.org/specs/apiv2-public.json Intelligent Asks settings ```markdown ## Schema: StudioIntelligentAsksSettings Intelligent Asks settings **Type:** object - **is_enabled** (boolean): Whether or not Intelligent Asks is enabled on a studio campaign (example: true) - **gdv_priority** (integer): How much to prioritize GDV on a scale of 0 to 10000. A value of 0 corresponds to prioritizing conversion rate whereas 10000 prioritizes gross donation volume. Accepts 0, 5000, and 10000 as values. (example: "5000") - **one_time_priority** (integer): How much to prioritize one time donations on a scale of 0 to 10000. A value of 0 corresponds to prioritizing recurring donations whereas 10000 prioritizes one time donations. Accepts 0, 5000, and 10000 as values. (example: "0") - **min_donation** (integer): Minimum donation amount that Intelligent Asks will return. Must be between 5 and 50 (example: "25") - **max_donation** (integer): Maximum donation amount that Intelligent Asks will return. Must be at least 500 (example: "500") - **fixed_donation** (number (float)): Fixed donation amount that Intelligent Asks will always return in its list of values. The value must be between the `min_donation` and `max_donation` set for Intelligent Asks. (example: "27.34") ``` -------------------------------- ### GET /organizations/{organization_id}/staff-notification-settings Source: https://docs.classy.org/specs/apiv2-public.json Get Staff Notification Settings for given Organization ```markdown ### Parameters - **organization_id** (integer, path, required): Primary identifier of Organization (example: 82364) - **with** (array (string (scope)), query, optional): Request specific relationships to be returned with the Staff Notification Settings - **page** (integer, query, optional): Indicator of which page of results to return (example: 1) - **per_page** (integer, query, optional): Number of entries to return in each page of results (example: 20) ### Responses #### 200 - Success - **current_page** (integer): Index of current page (example: 1) - **data** (array (object)): Collection of Staff Notification Settings Array items: - **member_id** (integer): Member who created Staff Notification Setting (example: 2012) - **chargebacks_category** (boolean): Receive an email if a Supporter files a chargeback and if it’s won or lost. (example: true) - **classy_pay_category** (boolean): Sent when your Organization's payout report is available (example: false) - **fundraising_page_category** (boolean): Receive an email when a Supporter creates a Fundraising Page or Team. (example: true) - **recurring_canceled_category** (boolean): Receive an email when a Recurring Plan is canceled. (example: false) - **recurring_ended_category** (boolean): Receive an email when a Recurring Plan has ended. (example: false) - **recurring_failed_category** (boolean): Receive an email when a Recurring Donation fails. (example: false) - **recurring_modified_category** (boolean): Receive an email when a Recurring Plan has been updated. (example: false) - **recurring_new_category** (boolean): Receive an email when a new Recurring Plan has been created. (example: false) - **recurring_successful_category** (boolean): Receive an email when a Recurring Donation has been made. (example: false) - **transactions_category** (boolean): Receive an email for every donation, ticket/registration purchase. (example: true) - **id** (integer): Primary identifier of Staff Notification Setting (example: "21003") - **created_at** (string (date-time)): Date/time of initial Staff Notification Setting creation (example: "2019-04-23T10:25:03Z") - **updated_at** (string (date-time)): Date/time of Staff Notification Setting last updated (example: "2019-04-23T10:25:03Z") - **scope_type** (string (Organization_Manager)): Scope for email notifications (example: "Organization_Manager") ("Organization_Manager") - **scope_id** (integer): Scope ID will be Organization ID as the scope type is Organization_Manager (example: "82364") - **first_page_url** (unknown) (example: "{host}/organizations/{organization_id}/staff-notification-settings?page=1") - **from** (integer): Index of first displayed result within total result set (example: 1) - **last_page** (integer): Index of last page in result set (example: 1) - **last_page_url** (unknown) (example: "{host}/organizations/{organization_id}/staff-notification-settings?page=1") - **next_page_url** (string): URL of next page of results (example: null) - **path** (unknown) (example: "{host}/organizations/{organization_id}/staff-notification-settings") - **per_page** (integer): Maximum number of records returned per page of results (example: 20) - **prev_page_url** (string): URL of previous page of results (example: null) - **links** (array (object)): Collection of objects representing pages {label, URL, active} that can be used to request the associated page of records. Array items: - **label** (string): Identifier of the page. (example: "1") - **url** (string): URL that can be used to fetch associated page of records. (example: "{host}/{resource}?page=1") - **active** (boolean): Identifies whether the previously requested page matches the page this link object references. (example: "true") - **to** (integer): Index of last displayed result within total result set (example: 1) - **total** (integer): Total count of records in result set (example: 1) #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Organization not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/organizations/{organization_id}/staff-notification-settings?with=item1,item2&page=1&per_page=20" ``` ``` -------------------------------- ### Schema: StudioCheckoutSettings Source: https://docs.classy.org/specs/apiv2-public.json Checkout settings ```markdown ## Schema: StudioCheckoutSettings Checkout settings **Type:** object - **cart** (object): Cart settings - **is_enabled** (boolean): Indicates whether cart functionality has been enabled (example: false) - **post_conversion_configuration** (object): Configurations for post conversion - **post_conversion_options** (array (string (dedication|employer_match|program_designation))): Post conversion options applicable for the studio campaign - **revenue_location_code** (object): Revenue location code (RLC) mapping settings - **enabled** (boolean): Indicates whether revenue location code (RLC) mapping is enabled, allowing a designation to be automatically assigned based on a donor's ZIP code (example: false) - **recurring_frequencies** (array (object)): The recurring donation frequencies available for the studio campaign Array items: - **label** (string) (example: "monthly") - **enabled** (boolean): Indicates whether the recurring frequency is enabled (example: true) - **default** (boolean): Indicates whether the recurring frequency is the default (example: true) ``` -------------------------------- ### GET /campaigns/{campaign_id}/staff-notification-settings Source: https://docs.classy.org/specs/apiv2-public.json Get Staff Notification Settings for given Campaign ```markdown ### Parameters - **campaign_id** (integer, path, required): Primary identifier of Campaign (example: 227362) - **with** (array (string (scope)), query, optional): Request specific relationships to be returned with the Staff Notification Settings - **page** (integer, query, optional): Indicator of which page of results to return (example: 1) - **per_page** (integer, query, optional): Number of entries to return in each page of results (example: 20) ### Responses #### 200 - Success - **current_page** (integer): Index of current page (example: 1) - **data** (array (object)): Collection of Staff Notification Settings Array items: - **member_id** (integer): Member who created Staff Notification Setting (example: 2012) - **chargebacks_category** (boolean): Receive an email if a Supporter files a chargeback and if it’s won or lost. (example: true) - **classy_pay_category** (boolean): Sent when your Organization's payout report is available (example: false) - **fundraising_page_category** (boolean): Receive an email when a Supporter creates a Fundraising Page or Team. (example: true) - **recurring_canceled_category** (boolean): Receive an email when a Recurring Plan is canceled. (example: false) - **recurring_ended_category** (boolean): Receive an email when a Recurring Plan has ended. (example: false) - **recurring_failed_category** (boolean): Receive an email when a Recurring Donation fails. (example: false) - **recurring_modified_category** (boolean): Receive an email when a Recurring Plan has been updated. (example: false) - **recurring_new_category** (boolean): Receive an email when a new Recurring Plan has been created. (example: false) - **recurring_successful_category** (boolean): Receive an email when a Recurring Donation has been made. (example: false) - **transactions_category** (boolean): Receive an email for every donation, ticket/registration purchase. (example: true) - **id** (integer): Primary identifier of Staff Notification Setting (example: "21003") - **created_at** (string (date-time)): Date/time of initial Staff Notification Setting creation (example: "2019-04-23T10:25:03Z") - **updated_at** (string (date-time)): Date/time of Staff Notification Setting last updated (example: "2019-04-23T10:25:03Z") - **scope_type** (string (Campaign_Manager|Organization_Manager_Campaign_Subscriber)): Scope for email notifications (example: "Campaign_Manager") ("Campaign_Manager"|"Organization_Manager_Campaign_Subscriber") - **scope_id** (integer): Scope ID will be Campaign ID af scope type is either Campaign_Manager or Organization_Manager_Campaign_Subscriber (example: "227362") - **first_page_url** (unknown) (example: "{host}/campaigns/{campaign_id}/staff-notification-settings?page=1") - **from** (integer): Index of first displayed result within total result set (example: 1) - **last_page** (integer): Index of last page in result set (example: 1) - **last_page_url** (unknown) (example: "{host}/campaigns/{campaign_id}/staff-notification-settings?page=1") - **next_page_url** (string): URL of next page of results (example: null) - **path** (unknown) (example: "{host}/campaigns/{campaign_id}/staff-notification-settings") - **per_page** (integer): Maximum number of records returned per page of results (example: 20) - **prev_page_url** (string): URL of previous page of results (example: null) - **links** (array (object)): Collection of objects representing pages {label, URL, active} that can be used to request the associated page of records. Array items: - **label** (string): Identifier of the page. (example: "1") - **url** (string): URL that can be used to fetch associated page of records. (example: "{host}/{resource}?page=1") - **active** (boolean): Identifies whether the previously requested page matches the page this link object references. (example: "true") - **to** (integer): Index of last displayed result within total result set (example: 1) - **total** (integer): Total count of records in result set (example: 1) #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Campaign not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/campaigns/{campaign_id}/staff-notification-settings?with=item1,item2&page=1&per_page=20" ``` ``` -------------------------------- ### GET /promo-codes/{promo_code_id}/promo-code-configurations Source: https://docs.classy.org/specs/apiv2-public.json Retrieves a list of all Promo Code Configurations for the specified Promo Code ```markdown ### Parameters - **promo_code_id** (integer, path, required): The specified Promo Code ID (example: 8273) - **with** (array (string (ticket_type)), query, optional): Request specific relationships to be returned with the PromoCodeConfiguration - **page** (integer, query, optional): Indicator of which page of results to return (example: 1) - **per_page** (integer, query, optional): Number of entries to return in each page of results (example: 20) ### Responses #### 200 - Success - **current_page** (integer): Index of current page (example: 1) - **data** (array (object)): Collection of Promo Code Configurations Array items: - **created_at** (string (date-time)): Date/time of initial record creation (example: "2021-04-23T08:23:21Z") - **id** (integer): Primary identifier of record (example: 6054) - **promo_code_id** (integer): Primary identifier of associated Promo Code (example: 8273) - **ticket_type_id** (integer): Primary identifier of associated Ticket Type (example: 9978) - **updated_at** (string (date-time)): Date/time of last record update (example: "2021-04-23T10:25:03Z") - **first_page_url** (unknown) (example: "{host}/promo-codes/8273/promo-code-configurations?page=1") - **from** (integer): Index of first displayed result within total result set (example: 1) - **last_page** (integer): Index of last page in result set (example: 1) - **last_page_url** (unknown): {host}/promo-codes/8273/promo-code-configurations?page=1 - **next_page_url** (string): URL of next page of results (example: null) - **path** (unknown): {host}/promo-codes/8273/promo-code-configurations - **per_page** (integer): Maximum number of records returned per page of results (example: 20) - **prev_page_url** (string): URL of previous page of results (example: null) - **links** (array (object)): Collection of objects representing pages {label, URL, active} that can be used to request the associated page of records. Array items: - **label** (string): Identifier of the page. (example: "1") - **url** (string): URL that can be used to fetch associated page of records. (example: "{host}/{resource}?page=1") - **active** (boolean): Identifies whether the previously requested page matches the page this link object references. (example: "true") - **to** (integer): Index of last displayed result within total result set (example: 1) - **total** (integer): Total count of records in result set (example: 1) #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Promo Code not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/promo-codes/{promo_code_id}/promo-code-configurations?with=item1,item2&page=1&per_page=20" ``` ``` -------------------------------- ### POST /promo-code-configurations Source: https://docs.classy.org/specs/apiv2-public.json Create Promo Code Configuration ```markdown ### Request Body **Content-Type:** application/json - **promo_code_id** (integer): Primary identifier of associated Promo Code (example: 8273) - **ticket_type_id** (integer): Primary identifier of associated Ticket Type (example: 9978) ### Responses #### 200 - Success **PromoCodeConfiguration** - **created_at** (string (date-time)): Date/time of initial record creation (example: "2021-04-23T08:23:21Z") - **id** (integer): Primary identifier of record (example: 6054) - **promo_code_id** (integer): Primary identifier of associated Promo Code (example: 8273) - **ticket_type_id** (integer): Primary identifier of associated Ticket Type (example: 9978) - **updated_at** (string (date-time)): Date/time of last record update (example: "2021-04-23T10:25:03Z") #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") ### Example Usage ```bash curl -X POST "https://api.classy.org/2.0/promo-code-configurations" \ -H "Content-Type: application/json" \ -d '{ "promo_code_id": 8273, "ticket_type_id": 9978 }' ``` ``` -------------------------------- ### GET /organizations/{organization_id}/annual-summary-reports/{year}/supporters/{supporter_id}/download Source: https://docs.classy.org/specs/apiv2-public.json Get a presigned download URL for a supporter's PDF from a completed batch ```markdown ### Parameters - **organization_id** (integer, path, required): The specified Organization ID (example: 1) - **year** (integer, path, required): The report year (example: 2024) - **supporter_id** (integer, path, required): The specified Supporter ID (example: 7) ### Responses #### 200 - Presigned download URL - **download_url** (string): S3 presigned URL for file download (example: "https://s3.amazonaws.com/bucket/file.pdf?presigned-params") - **filename** (string): Suggested filename (example: "GivingSummary_JohnDoe_2024.pdf") - **expires_at** (string): ISO 8601 timestamp when the presigned URL expires (example: "2024-10-08T12:00:00+00:00") - **content_type** (string): MIME type (example: "application/pdf") #### 400 - Batch is not yet completed - **error** (string) (example: "Batch is not yet completed") - **status** (string) (example: "generating") #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Batch or supporter not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/organizations/{organization_id}/annual-summary-reports/{year}/supporters/{supporter_id}/download" ``` ``` -------------------------------- ### GET /organizations/{organization_id}/annual-summary-reports/{year} Source: https://docs.classy.org/specs/apiv2-public.json Get the ASR batch for an organization for a specific year. Returns the single batch or 404 if none exists. ```markdown ### Parameters - **organization_id** (integer, path, required): The specified Organization ID (example: 1) - **year** (integer, path, required): The report year (example: 2024) - **status** (string (pending|processing|generating|completed|failed), query, optional): Filter by batch status (example: "completed") - **limit** (integer, query, optional): Number of results per page (example: 10) ### Responses #### 200 - Batch information - **organization_id** (integer) (example: 1) - **report_year** (integer) (example: 2024) - **status** (string) (example: "completed") - **total_count** (integer) (example: 1000) - **completed_count** (integer) (example: 1000) - **failed_count** (integer) (example: 0) - **progress_percentage** (integer) (example: 100) - **is_complete** (boolean) (example: true) - **is_processing** (boolean) (example: false) - **started_at** (string) (example: "2024-10-06T12:00:00+00:00") - **completed_at** (string) (example: "2024-10-06T12:30:00+00:00") - **created_at** (string) (example: "2024-10-06T11:55:00+00:00") - **updated_at** (string) (example: "2024-10-06T12:30:00+00:00") #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - No batch found for this year - **error** (string) (example: "No batch found for this year") - **message** (string) (example: "No ASR batch exists for 2024. Use POST to create one.") ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/organizations/{organization_id}/annual-summary-reports/{year}?status=completed&limit=10" ``` ``` -------------------------------- ### GET /updates/{id} Source: https://docs.classy.org/specs/apiv2-public.json Fetch Update ```markdown ### Parameters - **id** (integer, path, required): Primary identifier of Update (example: 72631) ### Responses #### 200 - Success **CampaignUpdate** - **body** (string): Main content of Post - **comments_count** (integer): Cached count of the number of Comments made in response to Post (example: 3) - **created_at** (string (date-time)): Date/time of initial record creation (example: "2021-04-23T08:23:21Z") - **latest_comments** (array (object)): Array of latest Comments made in response to Post (limit 2 items) Array items: - **body** (string): The content of the Comment (example: "Example Comment") - **commentable_id** (integer): Primary identifier of associated Commentable Entity (example: 876) - **commentable_type** (string (feed_item|update|story)): Type of associated Commentable Entity (example: "feed_item") ("feed_item"|"update"|"story") - **commenter_name** (string): The full name of the creator of the Comment (example: "GoFundMe Pro Commenter") - **created_at** (string (date-time)): Date/time of initial record creation (example: "2021-04-23T08:23:21Z") - **id** (integer): Primary identifier of record (example: 47281) - **likes_count** (integer): Amount of likes a Comment has received (example: 5) - **member_id** (integer): The ID of the Member that created of the Comment (example: 2012) - **updated_at** (string (date-time)): Date/time of last record update (example: "2021-04-23T08:23:21Z") - **likes_count** (integer): Cached count of the number of Likes that Post has received (example: 14) - **member_id** (integer): Primary identifier of Member who created Post (i.e. the poster) (example: 2012) - **postable_id** (integer): Primary identifier of Fundraising Entity for which the Post was made (example: 209745) - **postable_type** (string): String describing type of Fundraising Entity for which the Post was made (example: "fundraising_team") - **poster_name** (string): Full name of Post's creator (example: "Buster McTest") - **shares_count** (integer): Cached count of the number of times Post has been shared (example: 8) - **status** (string (draft|published)): Indication whether Post is a draft or has been published (example: "published") ("draft"|"published") - **title** (string): Title of Post - **updated_at** (string (date-time)): Date/time of last record update (example: "2021-04-23T10:25:03Z") - **views_count** (integer): Cached count of the number of times Post has been viewed (example: 46) - **asset_id** (integer): ID of associated Asset (example: null) - **asset_url** (string): CDN URL of associated Asset (example: null) - **id** (integer): Primary identifier of record (example: 72631) - **visibility** (string (private|public)): Visibility of Update (private updates can only be seen by the Member associated with record) (example: "public") ("private"|"public") #### 403 - Requester is not authorized to perform action **ForbiddenResponse** - **error** (string): Description of detected error in request (example: "This action is unauthorized.") #### 404 - Update not found **ResourceNotFoundResponse** - **error** (string): Description of detected errors in request ### Example Usage ```bash curl -X GET "https://api.classy.org/2.0/updates/{id}" ``` ```