Edits history of script submission #14621 for ' Update Spend Limit (brex)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Brex = {
      token: string;
    };
    /**
     * 
    Update Spend Limit
    
     * 
    Updates a Spend Limit
    
     */
    export async function main(
      auth: Brex,
      id: string,
      Idempotency_Key: string,
      body: {
        name?: string;
        description?: string;
        status?:
          | ("ACTIVE" & {})
          | ("EXPIRED" & {})
          | ("ARCHIVED" & {})
          | ("DELETED" & {});
        period_recurrence_type?:
          | ("PER_WEEK" & {})
          | ("PER_MONTH" & {})
          | ("PER_QUARTER" & {})
          | ("PER_YEAR" & {})
          | ("ONE_TIME" & {});
        start_date?: string;
        end_date?: string;
        authorization_settings?: {
          base_limit?: { amount: number; currency?: string } & {};
          limit_buffer_percentage?: number;
          authorization_type?: ("HARD" & {}) | ("SOFT" & {});
          rollover_refresh_rate?:
            | ("PER_MONTH" & {})
            | ("PER_QUARTER" & {})
            | ("PER_YEAR" & {})
            | ("OFF" & {})
            | ("NEVER" & {});
        } & {};
        expense_visibility?: ("SHARED" & {}) | ("PRIVATE" & {});
        authorization_visibility?: ("PRIVATE" & {}) | ("PUBLIC" & {});
        merchant_category_controls?: {
          allowed_merchant_categories?:
            | "ADVERTISING_MARKETING"
            | "GROCERY"
            | "TELEPHONY"
            | "OFFICE_SUPPLIES"
            | "PRIVATE_AIR_TRAVEL"
            | "CLOTHING"
            | "CAR_RENTAL"
            | "VEHICLE_EXPENSES"
            | "RESTAURANTS"
            | "GAMBLING"
            | "FLOWERS"
            | "ELECTRONICS"
            | "LEGAL_SERVICES"
            | "UTILITIES"
            | "FURNITURE"
            | "BARS_NIGHTLIFE"
            | "LAUNDRY"
            | "EVENT_EXPENSES"
            | "SHIPPING"
            | "OTHER_TRAVEL_EXPENSES"
            | "CHARITY"
            | "SOFTWARE"
            | "LODGING"
            | "FACILITIES_EXPENSES"
            | "SERVERS"
            | "CONFERENCES"
            | "FOOD_DELIVERY"
            | "RENT"
            | "AIRLINE_EXPENSES"
            | "OTHER_BUSINESS_EXPENSES"
            | "BANK_FINANCIAL_FEES"
            | "BOOKS_NEWSPAPERS"
            | "CONSULTANT_CONTRACTOR"
            | "CORPORATE_INSURANCE"
            | "DIGITAL_GOODS"
            | "LICENSES_TAXES"
            | "GAS_FUEL"
            | "GENERAL_MERCHANDISE"
            | "MEDICAL"
            | "MEMBERSHIPS_CLUBS"
            | "PARKING_EXPENSES"
            | "POLITICAL_DONATIONS"
            | "PUBLIC_TRANSPORTATION"
            | "RECURRING_SOFTWARE_SAAS"
            | "RIDESHARE_TAXI"
            | "TOLL_BRIDGE_FEES"
            | "TRAINING_EDUCATION"
            | "TRAVEL"[];
          blocked_merchant_categories?:
            | "ADVERTISING_MARKETING"
            | "GROCERY"
            | "TELEPHONY"
            | "OFFICE_SUPPLIES"
            | "PRIVATE_AIR_TRAVEL"
            | "CLOTHING"
            | "CAR_RENTAL"
            | "VEHICLE_EXPENSES"
            | "RESTAURANTS"
            | "GAMBLING"
            | "FLOWERS"
            | "ELECTRONICS"
            | "LEGAL_SERVICES"
            | "UTILITIES"
            | "FURNITURE"
            | "BARS_NIGHTLIFE"
            | "LAUNDRY"
            | "EVENT_EXPENSES"
            | "SHIPPING"
            | "OTHER_TRAVEL_EXPENSES"
            | "CHARITY"
            | "SOFTWARE"
            | "LODGING"
            | "FACILITIES_EXPENSES"
            | "SERVERS"
            | "CONFERENCES"
            | "FOOD_DELIVERY"
            | "RENT"
            | "AIRLINE_EXPENSES"
            | "OTHER_BUSINESS_EXPENSES"
            | "BANK_FINANCIAL_FEES"
            | "BOOKS_NEWSPAPERS"
            | "CONSULTANT_CONTRACTOR"
            | "CORPORATE_INSURANCE"
            | "DIGITAL_GOODS"
            | "LICENSES_TAXES"
            | "GAS_FUEL"
            | "GENERAL_MERCHANDISE"
            | "MEDICAL"
            | "MEMBERSHIPS_CLUBS"
            | "PARKING_EXPENSES"
            | "POLITICAL_DONATIONS"
            | "PUBLIC_TRANSPORTATION"
            | "RECURRING_SOFTWARE_SAAS"
            | "RIDESHARE_TAXI"
            | "TOLL_BRIDGE_FEES"
            | "TRAINING_EDUCATION"
            | "TRAVEL"[];
        } & {};
        transaction_limit?: { amount: number; currency?: string } & {};
        limit_increase_setting?: ("ENABLED" & {}) | ("DISABLED" & {});
        spend_type?:
          | ("BUDGET_PROVISIONED_CARDS_ONLY" & {})
          | ("NON_BUDGET_PROVISIONED_CARDS_ALLOWED" & {});
        auto_transfer_cards_setting?: ("ENABLED" & {}) | ("DISABLED" & {});
        auto_create_limit_cards_setting?: ("DISABLED" & {}) | ("ALL_MEMBERS" & {});
        owner_user_ids?: string[];
        member_user_ids?: string[];
        expense_policy_id?: string;
        limit_increase_request_policy_id?: string;
        limit_approval_policy_id?: string;
        legal_entity_id?: string;
        department_id?: string;
      },
    ) {
      const url = new URL(`https://platform.brexapis.com/v2/spend_limits/${id}`);
    
      const response = await fetch(url, {
        method: "PUT",
        headers: {
          "Idempotency-Key": Idempotency_Key,
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.token,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 217 days ago